在jQuery中使用.on事件有什么好处?

时间:2015-02-22 19:49:52

标签: jquery events

在jQuery中使用.on事件有什么好处而不是只使用.event?例如,使用mouseenter事件:

$(element).on("mouseenter", function(){ code; });

而不是:

$(element).mouseenter(function(){ code; });

4 个答案:

答案 0 :(得分:0)

您可以使用

将多个事件附加到同一个功能
$(element).on("mouseenter click", function(){ code; });

这可能比使用每个事件的速记版本更具可读性 (这只是一个好处。)

答案 1 :(得分:0)

方法.on()有一个额外的参数:selector

这意味着您可以将事件绑定到父元素,但只触发某些子元素。这可能意味着通过JavaScript创建DOM元素不需要随后附加事件。

一个例子:

$(document).on(
    'click',
    'span',
    function () { console.log('Span clicked'); }
);

$(function () {
    // Both the below spans will have the above click handler
    // attached even though they are created after the click
    // handler itself.

    $('body').append('<span>Span 1</span>');
    $('body').append('<span>Span 2</span>');
});

答案 2 :(得分:0)

要获得完整答案,您需要查看http://api.jquery.com/on/

上的文档

对我而言,首先要考虑的是何时使用&#39;&#39;是什么时候html由ajax请求动态来,例如html在完成js的整页加载后得到渲染。
On会将事件绑定到页面上动态出现的新元素。 这与&#39; live&#39;的行为相同在之前关于这个ajax问题的jquery版本中。

要获得完整答案,我建议您阅读文档及其示例。

答案 3 :(得分:-1)

$(element).mouseenter(function(){ code; });的事件有一些错误 最近我想用这个用于PHP动态制作的许多按钮 在网页上,这个活动并没有奏效 并使用&#34; on&#34;事件和它的工作