Javascript innerHTML.replace不在firefox中工作,但在IE中工作
我想重命名按钮的onclick方法。首先,我的按钮有以下代码:Javascript innerHTML.replace不在firefox中工作,但在IE中工作,javascript,firefox,innerhtml,Javascript,Firefox,Innerhtml,我想重命名按钮的onclick方法。首先,我的按钮有以下代码: <input id="my_button" class="update field-button" type="button" onclick="add( this )" value="ADD Something" title="ADD Item" name="my_button"></input> parentNode是一个变量: var parentNode = removeButton.parentN
<input id="my_button" class="update field-button" type="button" onclick="add( this )" value="ADD Something" title="ADD Item" name="my_button"></input>
parentNode
是一个变量:
var parentNode = removeButton.parentNode;
在Internet Explorer中它可以工作,但在firefox中不工作这不是实现所需功能的方法,单击处理程序可以完全与javascript绑定 请尝试以下操作:
document.getElementById('my_button').onclick = function() {
var toggle = false;
return function (e) {
toggle = !toggle;
toggle ? add(this) : remove(this);
};
}();
虽然我会推荐rich的答案并将其逻辑放入clickhandler,但您的问题可能会很有趣 Firefox正确地进行替换,并调用buttons native remove方法,因为单击处理程序具有按钮的作用域。所以
onclick="remove( this )"
与
onclick="document.getElementById('my_button').remove();"
按钮将从dom中删除。我建议只运行一个函数,并使用逻辑来确定它是该函数中的添加还是删除,而不是像这样尝试更改处理程序
onclick="remove( this )"
onclick="document.getElementById('my_button').remove();"