Jquery 将2个不同的选择器与2个不同的事件组合在一起
我有两个选择器,我希望在一段代码中组合以处理两个不同的选择器 我目前的代码如下:Jquery 将2个不同的选择器与2个不同的事件组合在一起,jquery,jquery-selectors,Jquery,Jquery Selectors,我有两个选择器,我希望在一段代码中组合以处理两个不同的选择器 我目前的代码如下: var button_b=$("#button_b"); $('#button_a', button_b).on("click, dblclick", function(){ //do stuff }); 但是,这似乎不起作用。组合选择器()是一个分离选择器值的简单问题。$(“#按钮a,#按钮b”)。事件可以用空格分隔- var selector = '#bar'; $("#foo,"+sel
var button_b=$("#button_b");
$('#button_a', button_b).on("click, dblclick", function(){
//do stuff
});
但是,这似乎不起作用。组合选择器()是一个分离选择器值的简单问题。$(“#按钮a,#按钮b”)
。事件可以用空格分隔-
var selector = '#bar';
$("#foo,"+selector).on("click dblclick", handler);
这两个事件很难在同一个元素中捕捉到。双击的第一次单击将被拾取并调用处理程序,在调用处理程序进行单次单击之前,您将无法压缩双击
我的现场演示使用了相同的技术,但是使用了mouseenter
和单击事件
如果是这样的话,为什么这些元素没有相同的处理程序和不同的事件呢
$("#button_a").on("click", function(){
myFunc(this);
});
$("button_b").on("dblclick", function(){
myFunc(this);
});
function myFunc(elem){
// Your code here
}
我仍然在寻找一种方法来提及两个单独的选择器,并在一行代码中用单独的事件绑定它们
考虑以下情况
$('input:text#voucher_id, button.nav').bind('click keydown', function(e){ // find nav functions to keydown events on #voucher_id and nav buttons
reload(e,'<?php echo $aVeryLongUrlDynamicallyGenerated; ?>', $('#voucher_id').val(),$('#doctype').val());
});
$('input:text#凭证id,button.nav').bind('click keydown',function(e){//find nav functions可在#凭证id和nav按钮上键入事件
重新加载(e,,$('#凭证id').val(),$('#doctype').val());
});
从代码中可以清楚地看到,我想绑定相同的功能来单击按钮和文本字段#凭证id
上的按键,但是通过使用上述方法,发生的事情是非常明显的,我在按钮上的按键
上激活了相同的功能,这是不可取的行为
如何避免这种情况,并且仍然为两个选定的对象合并代码。尝试:$(“#按钮a,#按钮b”)。on()
来源:啊,你是对的。我想我应该改写我的目标。“Button B”只在click事件中使用dblclick和Button A,但如果这两个事件有意义的话,它们使用相同的代码。如您所见,我没有在上面的代码中编写回调函数,我所做的只是引用函数handler()
,这是一个自定义函数。因此,您可以简单地将两个事件指向同一个处理程序函数。是的,但是按钮B也会收到一个单击事件,而不仅仅是双击。