jQuery:在选择器中使用多个事件时,不会触发Resize事件

时间:2016-05-23 10:04:21

标签: javascript jquery

我想将多个事件分配给选择器,而不是创建单独的事件。

$('element').on('click resize scroll mouseover', function(){
 // do something
});

问题是resize事件不会在其他事件发生时触发。

3 个答案:

答案 0 :(得分:1)

The documentation for on表示事件参数是一个或多个以空格分隔的事件类型和可选命名空间,例如clickkeydown.myPlugin。基本上,你在问题中表现的是答案本身。

在下一个片段中,您可以看到单击在元素上移动鼠标都会触发侦听器。你在里面做什么完全取决于你

$(function() {
    $("#target").on("click mouseover", function(ev) {
    $("#output").text($("#output").text() + "\n"+"event triggered");
  })
});

$(function() {
  $("#target").on("click mouseover", function(ev) {
    $("#output").text($("#output").text() + "\n"+"event triggered");
  })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="target">I'm a target</div>
<pre id="output">

</pre>

答案 1 :(得分:0)

空格分隔是正确的。

$('element').on('click resize scroll mouseover', function(){
 // do something
});

但如果该元素是实时元素,则应使用此语句。

$(document).on('click resize scroll mouseover', 'element', function(){
 // do something
});

答案 2 :(得分:0)

npm start