jquery e.target.hasClass不工作

前端之家收集整理的这篇文章主要介绍了jquery e.target.hasClass不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我动态创建一个新的div(有一个“textBox”类和ID)和其中的一些其他元素,后来在我的代码我绑定到点击事件,并显示被点击的元素,像这样:
$('#textBox_'+i).bind('click',function(event){
    alert(event.target.className);
}

这很好,它会给我的文本框作为显示的类之一。
但event.target.hasClass()似乎不工作。所以,当我做以下,没有什么发生:

$('#textBox_'+i).bind('click',function(event){
    if(event.target.hasClass('textBox')) { alert('got it!'); }
}

我尝试了几种不同的方式,它似乎在我看来event.target.hasClass()只是不工作。有没有另一种方式来处理事件或我做错了什么?

解决方法

您尝试在标准DOM元素上使用jQuery方法,hasClass()。您需要将纯JS DOM元素e.target转换为jQuery对象,如下所示:
$(event.target).hasClass('textBox')

你最终得到:

$('#textBox_'+i).on('click',function(event){
     if( $(event.target).hasClass('textBox')) alert('got it!');
});

注意使用on(),正确关闭click函数,如果你只执行一个简单的警告,你不需要在if语句中使用大括号。

猜你在找的jQuery相关文章