jQuery.click()与onClick

我有一个庞大的jQuery应用程序,并且我将以下两种方法用于点击事件。

HTML

<div id="myDiv">Some Content</div>

jQuery

$('#myDiv').click(function(){

//Some code

});

HTML

<div id="myDiv" onClick="divFunction()">Some Content</div>

JavaScript函数调用

function divFunction(){

//Some code

}

我在应用程序中使用第一种或第二种方法。哪一个更好?性能更好?和标准?

回答:

使用$('#myDiv').click(function(){是 ,因为它遵循标准的事件注册模型。(jQuery

内部使用addEventListenerattachEvent)。

基本上,以现代方式注册事件是处理事件的简便方法。另外,要为目标注册多个事件侦听器,您可以addEventListener()为同一目标调用。

var myEl = document.getElementById('myelement');

myEl.addEventListener('click', function() {

alert('Hello world');

}, false);

myEl.addEventListener('click', function() {

alert('Hello world again!!!');

}, false);

(来自MDN)

addEventListener是注册W3C DOM中指定的事件侦听器的方法。其优点如下:

  • 它允许为一个事件添加多个处理程序。这对于即使使用其他库/扩展也需要正常工作的DHTML库或Mozilla扩展别有用。
  • 当激活侦听器时,它可以使您对相位进行更细粒度的控制(捕获与冒泡)
  • 它适用于任何DOM元素,而不仅仅是HTML元素。

其他方法,例如设置HTML属性,例如:

<button onclick="alert('Hello world!')">

或DOM元素属性,例如:

myEl.onclick = function(event){alert('Hello world');};

很老,很容易被覆盖。

应避免使用 因为它会使标记更大且可读性更差。内容/结构和行为的关注点没有很好地分开,因此很难发现错误。

与该问题 的方法是,只有一个事件处理程序可以绑定到每个事件的元件。

以上是 jQuery.click()与onClick 的全部内容, 来源链接: utcz.com/qa/432302.html

回到顶部