首先,对不起,如果标题不是最好的,我找不到更好的标题.
如何使用javascript为Div设置clickEvent函数,同时还将函数的参数设置为Div本身?
例如:
我有一个HTML文件,其中包含:
<span id='parent'>
<div class='child'></div>
</span>
Run Code Online (Sandbox Code Playgroud)
和一个JS文件,我有以下代码:
var el = document.getElementById("parent").getElementsByClassName("child")[0];
el.onclick = someFuntion(this);
Run Code Online (Sandbox Code Playgroud)
但事实是,我想的是,thisparamenter参考div.child,所以,当我点击的股利应本身作为参数传递,作为一个DOM元素,让我能够使用它的内部someFuntion(element)就像任何其他的DOM元素:element#id,例如.
解决方案:
el.addEventListener("click", someFuntion(event), false);
el.addEventListener("click", someFuntion(this), false);
el.addEventListener("click", someFuntion(el), false);
$("#parent #child").bind("click", someFuntion(this));
el.onclick = someFuntion(divIntoSpan);
Run Code Online (Sandbox Code Playgroud)
解:
el.onclick = someFuntion;
function someFunction(e){
if(e.target){
//remember to use "e.target" from here on, instead of only "e"
//e.id (error: undefined); e.target.id (correct)
}
}
Run Code Online (Sandbox Code Playgroud)