我試圖將(這個)作為引數發送給事件監聽器,該監聽器將動態地創建包含資料集的函式。
我的document.listener有其他元素,而不僅僅是這個。
。document. addEventListener('click'/span>, function(event) {
let el = event.target;
if (el.hasAttribute('data-todo') ) {
let FN = new Function ( el. dataset.todo)。)
FN()。
}
});
function toggleDisable(el) {
console.log( el.tagName ) 。
el.classList.add('disabled') 。
}
<div class="wrapper"> /span>
< button type="button" data-todo="toggleDisable(this)"> 使我能夠</button>。
</div>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
因為你是在click事件監聽器里面評估的,所以用event.target來代替參考元素本身:
document. addEventListener('click'/span>, function(event) {
let el = event.target;
if (el.hasAttribute('data-todo') ) {
let FN = new Function ( el. dataset.todo)。)
FN.this = event.target;
FN()。
}
});
function toggleDisable(el) {
console.log( el.tagName ) 。
el.classList.add('disabled') 。
}
<div class="wrapper"> /span>
<button type="button" data-todo="toggleDisable(event. target)">禁用我</按鈕>
</div>
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/321036.html
標籤:
