Javascript全局禁用相同的事件/禁用事件

时间:2016-01-07 01:40:09

标签: javascript jquery

我有两个javascript,booth有相同的点击事件,一个用于检查输入字段检查,第二个用于执行操作。

是否可以从check.js点击事件中禁用do_action.js的click事件?但是,在do_action.js中没有任何其他声明的点击事件!

我只想让check.js和do_action.js彼此独立工作。

enter image description here

check.js:

$("button").click
(
    function()
    {
        //if wrong name or email, than globally disable this event now
        return false;
    }
);

do_action.js:

$("button").click
(
    function()
    {
        //do action
    }
);

1 个答案:

答案 0 :(得分:0)

  

是否可以从check.js点击事件中禁用do_action.js的click事件?

有点,但不是你想要的方式。

由于调用按钮事件时,您的两个事件都会异步并发地相互触发,因此check事件实际上不会影响您的do_action事件。

您需要采用的方法是,不是禁用事件,而是在满足条件后附加事件。但是,这并不能很好地工作,因为您必须两次调用此事件才能使其工作。

相反,如果您的do_action事件有效且仅使用一个事件,请尝试触发check方法:

$("button").click(function(){
    // Have a function that checks for input validity
    if(check_valid_input()){
        // Valid input, so now you can call your do_action
        do_action();
    }else{
        // Invalid input
    }
});