【问题标题】:two elements - one click, another hover, one function两个元素 - 一次单击,另一个悬停,一个功能
【发布时间】:2012-08-13 14:21:23
【问题描述】:

我试图让 button1 和 button2 都有各自的触发器,但功能相同。

类似这样的:

$("#button1").hover,$("#button2").click (function () {...

【问题讨论】:

  • 只是提醒一下:如果您发现以下答案之一有帮助,那么请通过单击该答案附近的复选标记来排除您认为最有帮助的答案。谢谢。

标签: jquery click hover


【解决方案1】:

函数参数可以接受一个指向函数的指针。

所以:

$("#button1").hover(DoSomething);
$("#button2").click(DoSomething);

function DoSomething() {
     //does something...
}

【讨论】:

    【解决方案2】:

    使用.bind(),它允许您将多个事件绑定到一个对象。

    $(obj).bind('hover, click',function(e){.....})
    

    请看这里:http://jsfiddle.net/uc9W9/

    编辑:::

    如果您使用较新版本的 jquery,请改用 .on(),因为 .bind() 可能不会在 jquery 的未来版本中使用

    请看这里:http://jsfiddle.net/uc9W9/1/

    【讨论】:

    • 这是一种巧妙的处理方式。我建议的唯一更改是使用 .on() 而不是 .bind()。
    • @mccow002 啊,你是对的,因为 jquery 在未来的版本中可能不会使用绑定......现在更新我的答案
    【解决方案3】:

    您最好定义一次事件处理函数并在两个事件中绑定相同的函数。

    var callback = function() { ... }
    $('#button1').hover(callback);
    $('#button2').click(callback);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多