如何使用jQuery组合两个不同的触发器事件
我有两个不同字段上可能发生的以下事件,但在主题字段上,除了触发更改事件外,我还想了解用户是否按enter键而不是tab键,即:如何使用jQuery组合两个不同的触发器事件,jquery,Jquery,我有两个不同字段上可能发生的以下事件,但在主题字段上,除了触发更改事件外,我还想了解用户是否按enter键而不是tab键,即: $("#P300_FILE_NAME,#P300_SUBJECT").change(function(){ ... do some processing .... }); 现在,从SO中的另一个线程中,我从中找到了以下代码片段,即 当按下enter键时,这是一种处理方式,但我想将其作为上述更改事件代码处理的一部分,它可以检查用户是否按下主题字段上的tab键,或者
$("#P300_FILE_NAME,#P300_SUBJECT").change(function(){
... do some processing ....
});
现在,从SO中的另一个线程中,我从中找到了以下代码片段,即
当按下enter键时,这是一种处理方式,但我想将其作为上述更改事件代码处理的一部分,它可以检查用户是否按下主题字段上的tab键,或者改为按下enter键
不确定如何组合这两个事件以执行必要的“…进行一些处理…”代码
我几乎需要这样的东西:
$("#P300_FILE_NAME,#P300_SUBJECT").change(function() || $("#P300_SUBJECT").enterKey(function () {
可以使用绑定在多个不同事件上触发的事件处理程序。在这种情况下,您希望在change
和keypress
上触发事件。我不认为存在enterKey
事件,因此我不确定它来自何处,因为它似乎也不是jQuery方法
$("#P300_FILE_NAME, #P300_SUBJECT").on("change keypress", function (e) {
if (e.type == "keypress" &&
($(this).is("#P300_FILE_NAME") || e.which != 13) {
return false;
}
....
});
这可能会对您有所帮助,
enterKey
不是事件的名称。但是,它不应该在#P300_FILE_name
的enter key
上触发。我认为,将两者分开将是一个更好的选择。@Jashwant也许,或者只是让if
更具体,而不是有一个单独的处理程序。。。
$("#P300_FILE_NAME, #P300_SUBJECT").on("change keypress", function (e) {
if (e.type == "keypress" &&
($(this).is("#P300_FILE_NAME") || e.which != 13) {
return false;
}
....
});
var foo = function () {
// Put your code here.
}
$("#P300_FILE_NAME,#P300_SUBJECT").change(foo);
$("#P300_SUBJECT").enterKey(foo);