第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅檢測偽元素上的單擊事件。

僅檢測偽元素上的單擊事件。

慕哥6287543 2019-07-09 13:27:56
僅檢測偽元素上的單擊事件。我的代碼是:p {     position: relative;     background-color: blue;}p:before {     content: '';     position: absolute;     left:100%;     width: 10px;     height: 100%;     background-color: red;}請看這把小提琴:http://jsfiddle.net/ZWw3Z/5/我只想在偽元素(紅色位)上觸發(fā)單擊事件。也就是說,我不希望在藍色位上觸發(fā)單擊事件。
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經(jīng)驗 獲得超2個贊

這是不可能的;偽元素根本不是DOM的一部分,所以不能將任何事件直接綁定到它們,只能綁定到它們的父元素。

如果必須僅在紅色區(qū)域上使用單擊處理程序,則必須生成一個子元素,如span,把它放在開口后<p>標記,將樣式應(yīng)用于p span而不是p:before和它綁在一起。


查看完整回答
反對 回復(fù) 2019-07-09
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

事實上,這是可能的。您可以檢查單擊的位置是否在元素之外,因為只有在以下情況下才會發(fā)生這種情況:::before或::after被點擊了。


此示例只檢查右邊的元素,但在您的情況下應(yīng)該有效。


span = document.querySelector('span');


span.addEventListener('click', function (e) {

    if (e.offsetX > span.offsetWidth) {

        span.className = 'c2';

    } else {

        span.className = 'c1';

    }

});

div { margin: 20px; }

span:after { content: 'AFTER'; position: absolute; }


span.c1 { background: yellow; }

span.c2:after { background: yellow; }

<div><span>ELEMENT</span></div>


查看完整回答
反對 回復(fù) 2019-07-09
  • 3 回答
  • 0 關(guān)注
  • 1579 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號