Javascript jquery多事件处理程序

Javascript jquery多事件处理程序,javascript,jquery,events,event-handling,Javascript,Jquery,Events,Event Handling,在我正在进行的最新项目中,我已经根据它们的类名定义了事件处理程序 例如,类名为“foo”的所有元素都应该以特定的方式响应更改事件。所有类名为“bar”的元素都应该以其他方式响应 现在,我的一些元素属于这两个类,即class=“foo-bar”,它们应该以两种方式响应。现在,只调用了一个事件处理程序函数 如何使这两个响应同时执行。这取决于绑定事件的方式。如果您通过jQuery绑定它们,而不是通过x.onchange=function(){…}覆盖处理程序,那么所有绑定的事件处理程序都将被执行。这是

在我正在进行的最新项目中,我已经根据它们的类名定义了事件处理程序

例如,类名为“foo”的所有元素都应该以特定的方式响应更改事件。所有类名为“bar”的元素都应该以其他方式响应

现在,我的一些元素属于这两个类,即class=“foo-bar”,它们应该以两种方式响应。现在,只调用了一个事件处理程序函数


如何使这两个响应同时执行。

这取决于绑定事件的方式。如果您通过jQuery绑定它们,而不是通过
x.onchange=function(){…}
覆盖处理程序,那么所有绑定的事件处理程序都将被执行。这是因为jQuery将事件处理程序排队,而不是覆盖以前的绑定

选中此项可查看多个事件被触发:


选中此选项可以查看事件处理程序是如何被覆盖的,从而只触发最后一个绑定的处理程序。您需要的是“行为”模式的变体

它允许您自动处理具有给定类或其他属性的元素上的事件

通常的实现是侦听“文档”上的事件,然后通过event.target定义操作

例如:fiddle()

这里的函数句柄处理您选择的类的元素上的所有事件。
如果您想添加其他事件或类,只需将它们附加到“on”列表中即可。

简短回答,您不能。一个将先于另一个执行。同步是不可能的,但是,两者都应该按照引发顺序执行。你能给我们一些代码看看吗?你不能同时执行两个事件。顺便问一下,这些
事件是什么
,不知何故,它也取决于这些事件
$(document).on('click change', '.foo.bar', function(e) {
  var classes = this.className.split(/\s+/);
  $.each(classes, function(i, cls) {
    handle(e, this, cls);
  })
})

function handle(e, elem, cls) { 
  // example: Event type click on elem DIV with class foo
  alert("Event type " + e.type + " on elem " + elem.tagName + " with class " + cls);
}