gpt4 book ai didi

javascript - 将参数传递给 eventListener 函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:48 25 4
gpt4 key购买 nike

我有这个函数 check(e),当我将它添加到 eventListener 时,我希望能够从 test() 传递参数。这可能吗?就像说获取mainlink变量来传递参数。这样做好吗?

我把javascript放在下面,jsbin上也有:http://jsbin.com/ujahe3/9/edit

function test() {
if (!document.getElementById('myid')) {
var mainlink = document.getElementById('mainlink');
var newElem = document.createElement('span');
mainlink.appendChild(newElem);
var linkElemAttrib = document.createAttribute('id');
linkElemAttrib.value = "myid";
newElem.setAttributeNode(linkElemAttrib);

var linkElem = document.createElement('a');
newElem.appendChild(linkElem);

var linkElemAttrib = document.createAttribute('href');
linkElemAttrib.value = "jsbin.com";
linkElem.setAttributeNode(linkElemAttrib);

var linkElemText = document.createTextNode('new click me');
linkElem.appendChild(linkElemText);

if (document.addEventListener) {
document.addEventListener('click', check/*(WOULD LIKE TO PASS PARAMETERS HERE)*/, false);
};
};
};

function check(e) {
if (document.getElementById('myid')) {
if (document.getElementById('myid').parentNode === document.getElementById('mainlink')) {
var target = (e && e.target) || (event && event.srcElement);
var obj = document.getElementById('mainlink');
if (target!= obj) {
obj.removeChild(obj.lastChild);
};
};
};
};

最佳答案

将事件监听器包装到一个函数中:

document.addEventListener( 
'click',
function(e,[params]){
check(e,[params]);
}
);

关于javascript - 将参数传递给 eventListener 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com