使用javascript更改onclick功能?

时间:2015-11-13 14:54:48

标签: javascript jquery html onclick

使用javascript更改onclick功能?

例如

通常复选框为onclick="fn()"

alert(TEST);之后我想要从onclick="fn()"更改为onclick="return false;"

我该怎么做?

http://jsfiddle.net/8xhc5p4n/2/

$(window).load(function(){
    $("#check_box").change(function fn() {        
        alert("TEST");
        // change from `onclick="fn()"` to `onclick="return false;"`
    });
});

8 个答案:

答案 0 :(得分:3)

更好的方式:

var check = true;
function fn(){
   if(check)
     {
        alert(...);
        check = false;
     }
   else return false;
}

答案 1 :(得分:2)

    $(window).load(function(){
        $("#check_box").change(function fn() {        
            alert("TEST");
            $("#check_box").attr("onclick","return false;");
            //change from `onclick="fn()"` to `onclick="return false;"`
        });
    });

答案 2 :(得分:1)

$(window).load(function(){
    $("#check_box").change(function fn() {        
        alert("TEST");
        //change from `onclick="fn()"` to `onclick="return false;"`
        this.setAttribute("onclick","return false;");
    });
});

答案 3 :(得分:1)

如果您使用的是jQuery

,可以通过两种方式解决
$('#check_box').on('click', function(){
    $(this).attr('onclick', 'return false;');
})

或者如果你想使用vanilla / EcmaScript 5

document.querySelector("#check_box").addEventListener('click', (function(){
    this.setAttribute('onclick', 'return false;');
})();)

答案 4 :(得分:0)

您可以使用jQuerys onoff函数

http://jsfiddle.net/8tq300mk/

答案 5 :(得分:0)

我相信你已经回答了自己的问题。

<input type="checkbox" id="check_box" name="check_box" value="Shared" onclick="return false">

是完全有效的代码。

答案 6 :(得分:0)

您可以使用$(this).attr('onclick', 'return false;');,如下所示:

$(window).load(function(){
    $("#check_box").change(function() {        
        $(this).attr('onclick', 'return false;');
    });
});

以下是JSFiddle的更新版本。

答案 7 :(得分:0)

$(window).load(function(){
    $("#check_box").change(function fn() {        
        alert("TEST");

        $("#check_box").click(function() {
            return false;
        });
    });
});

希望这有帮助。