Javascript、jQuery,最好的事件监听器是什么?
我很好奇 例如,如果我想为单击添加事件侦听器 我通常使用jQueryJavascript、jQuery,最好的事件监听器是什么?,javascript,jquery,Javascript,Jquery,我很好奇 例如,如果我想为单击添加事件侦听器 我通常使用jQuery $('.selector').click(function() {} ); 但也有其他几种方法可以做到这一点 <button class="selector" id="selector" onclick="click()"> $('.selector').on('click', function() {} ); document.getElementById('selector').addEventListe
$('.selector').click(function() {} );
但也有其他几种方法可以做到这一点
<button class="selector" id="selector" onclick="click()">
$('.selector').on('click', function() {} );
document.getElementById('selector').addEventListener("click", function() {} );
$('.selector')。on('click',function(){});
document.getElementById('selector').addEventListener(“单击”,函数(){});
他们之间有什么显著的区别吗
最佳做法是什么?视情况而定。我通常用这个:
$('body').on('click', '.selector', function() {} );
因为它将侦听器添加到该类的所有元素中,即使是稍后将出现在文档中的元素(即AJAX调用之后)。第一个是。第二个使用jQuery。第三个不使用jQuery和IE上的<9。正如@GSerg提到的不在IE8和以下版本中工作一样,在
上使用jQuery可以附加多个事件,如on('click change input')
,如果不能直接在纯javascript中执行,请检查此jQuery为您提取了一些细节,因此,您不必担心旧浏览器中的实现差异,现在IE的旧版本没有被大量使用,这一点也不重要。但是jQuery也使得用一行代码将处理程序绑定到多个元素变得非常简单,等等。我不会仅仅为了事件处理而将jQuery添加到项目中,因为使用vanilla JS很容易,但是如果我需要其他方便的功能,比如简单的DOM导航、简单的动画、一行Ajax等等。,然后我会使用jQuery。这些都非常有用。谢谢虽然观察到的效果是它确实为将来的元素添加了一个侦听器,但实际上它只为body
添加了一个侦听器,而整个要点与OP的问题无关。