如何启用onclick返回和功能不会自动运行

时间:2016-04-01 07:47:16

标签: jquery

//my function 
function handler(){
//do something.
}

//disable my onclick
$(".Dicon").prop('onclick',null).off('click');

//using this code to enable , it will auto ran the function
$(".Dicon").prop('onclick',handler);

我正在使用代码在点击时禁用我的所有课程,但我需要在某些时候启用它们,我将如何启用它们?

当我使用我的代码启用点击返回时,它会自动运行该功能,无论如何我可以启用它们并且该功能不会运行?

2 个答案:

答案 0 :(得分:0)

TRy trigger():

$(".Dicon").prop('onclick',handler).trigger('click');

答案 1 :(得分:0)

如何存储"可执行性"在一个变量?

var onClickOn = true; //initial state

function handler (event) {
    if ( onClickOn ) {
        //do stuff
    }
    else {
        event.preventDefault(); // don't do anything
        event.stopPrpagation(); // really don't do anything

        return false; //make sure you don't do anything
    }
}

$(".Dicon").on('click',handler);

现在您可以通过更改onClickOn的值来控制处理程序。

另一种可能的解决方案是使用小技巧

委派事件
$('body').on('click', ".Dicon:not(.noClick)", handler);

通过这种方式,您可以通过在链接中添加和删除noClick类来控制事件。