javascript更改onclick属性

时间:2013-09-14 18:25:46

标签: javascript dynamic onclick

我有一个脚本,可以让我的用户阻止/取消阻止用户。它们都在同一个函数'blockToggle(type,user,button)'中,并且根据类型(block或unblock)执行该脚本。但我想要做的是,如果当前用户没有阻止其他用户,他们可以使用按钮阻止他们,但是当用户单击该按钮时,他们必须刷新页面以取消阻止用户。我希望一旦用户点击它而不刷新页面,onclick属性就会立即更改。以下是我尝试过的一些事情:。

document.getElementById("blockBtn").onclick = "blockToggle('unblock', 'user', 'blockBtn')";

document.getElementById("blockBtn").setAttribute( "onClick", "javascript: blockToggle('unblock', 'user', 'blockBtn')";

document.getElementById("blockBtn").onclick = function(){ "blockToggle('unblock', 'user', 'blockBtn')"};

这些解决方案中的任何一个都不适合我。我似乎无法从谷歌搜索找到解决方案。有什么我在这里监督的吗?我确定答案就在我面前。

2 个答案:

答案 0 :(得分:1)

我不知道你的函数blockToggle()是什么样的,但试试这个,没有额外的引号:

document.getElementById("blockBtn").onclick = function(){ 
    blockToggle(unblock, user, blockBtn);
};

我假设您的功能blockToggle已宣布且unblock user& blockBtn也是声明变量。

答案 1 :(得分:0)

远离将处理程序设置为字符串。只需使用调用blockToggle

的普通匿名函数即可
document.getElementById("blockBtn").onclick = function(){ 
    blockToggle('unblock', 'user', 'blockBtn');
};