use*_*627 43 jquery events onclick classname
我动态创建一个新的div
(带有"textbox"类和ID),以及其中的一些其他元素,稍后在我的代码中我将其绑定div
到click事件,并显示单击的元素,如下所示:
$('#textbox_'+i).bind('click', function(event){
alert(event.target.className);
}
Run Code Online (Sandbox Code Playgroud)
这很好,它会给我textbox
一个显示的类.但event.target.hasClass()
似乎没有用.所以,当我执行以下操作时,没有任何反应:
$('#textbox_'+i).bind('click', function(event){
if(event.target.hasClass('textbox')) { alert('got it!'); }
}
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方式,在我看来,event.target.hasClass()
这是行不通的.有没有其他方式来处理事件或我做错了什么?
ade*_*neo 86
您正在尝试hasClass()
在标准DOM元素上使用jQuery方法.您需要将普通的JS DOM元素e.target
转换为jQuery对象,如下所示:
$(event.target).hasClass('textbox')
Run Code Online (Sandbox Code Playgroud)
你最终得到:
$('#textbox_'+i).on('click', function(event){
if( $(event.target).hasClass('textbox')) alert('got it!');
});
Run Code Online (Sandbox Code Playgroud)
注意使用on()
,正确关闭click
函数,如果只执行简单警报,则不需要if语句中的花括号.
iar*_*oyo 26
如果你想在不使用jQuery的情况下继续使用你的JS DOM元素:
event.target.classList.contains('textbox')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
58230 次 |
最近记录: |