Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否允许先触发其他绑定元素事件?_Javascript_Jquery - Fatal编程技术网

Javascript 是否允许先触发其他绑定元素事件?

Javascript 是否允许先触发其他绑定元素事件?,javascript,jquery,Javascript,Jquery,是否有一种方法允许同一对象(例如textbox)的其他绑定事件首先触发/触发 假设两个事件绑定到同一个文本框。两个键控事件。在我的例子中,有一个插件绑定它自己的事件,但是代码的编写方式,首先绑定的是我的插件。我不想让我的先开火 $("#firstname").keyup(function() { // ...is there anyway to allow the other keyup event to fire first, from here? // do my work

是否有一种方法允许同一对象(例如textbox)的其他绑定事件首先触发/触发

假设两个事件绑定到同一个文本框。两个键控事件。在我的例子中,有一个插件绑定它自己的事件,但是代码的编写方式,首先绑定的是我的插件。我不想让我的先开火

$("#firstname").keyup(function() {
    // ...is there anyway to allow the other keyup event to fire first, from here?
    // do my work here...
}

$("#firstname").keyup(function() {
    // the plugin work.
}

我需要使用keyup,已经有了keyup事件。

你真的应该重写你的代码,让它只有一个keyup绑定到那个事件,但是如果这不可行,你可以用信号量把它弄脏,把你的功能从绑定中分离出来,这样就可以从任何一个绑定中调用它

var semaphore = 0; // on init

$("#firstname").keyup(function () { // this one should run first
 semaphore++;

 if (semaphore === 0) {
    first_action();
 }
}

$("#firstname").keyup(function () { // this one should run second
 if (semaphore > 1) { // you know the first event fired
   second_action();
 }
 else if (semaphore < 1) {
   first_action();
   second_action();
   semaphore++; 
 }
}
var信号量=0;//关于init
$(“#firstname”).keyup(函数(){//应该首先运行这个函数
信号量++;
if(信号量===0){
第一个动作();
}
}
$(“#firstname”).keyup(函数(){//这个应该在第二个运行
如果(信号量>1){//您知道第一个触发的事件
第二个动作();
}
else if(信号量<1){
第一个动作();
第二个动作();
信号量++;
}
}