使用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;"`
});
});
答案 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)
答案 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;
});
});
});
希望这有帮助。