Javascript 交换两个';onclicks';在ie中
我想更改两个元素的onclick。在Firefox中,此代码执行它应该执行的操作:Javascript 交换两个';onclicks';在ie中,javascript,ajax,Javascript,Ajax,我想更改两个元素的onclick。在Firefox中,此代码执行它应该执行的操作: var tmpButton = button1.onclick; button1.setAttribute('onclick', button2.onclick); button2.setAttribute('onclick', tmpButton); 但是我如何在IE中实现这个代码呢 以下两种浏览器都适用: var tmpButton = button1.onclick; button1.onclick =
var tmpButton = button1.onclick;
button1.setAttribute('onclick', button2.onclick);
button2.setAttribute('onclick', tmpButton);
但是我如何在IE中实现这个代码呢 以下两种浏览器都适用:
var tmpButton = button1.onclick;
button1.onclick = button2.onclick;
button2.onclick = tmpButton;
setAttribute方法不是100%跨平台安全的。表示setAttribute
的IE实现不完整:
IE5-7不设置样式,当您尝试设置它们时,会删除事件
注意:这方面的工作示例:您是否尝试过简单地使用
button1.onclick=button2.onclick
?setAttribute方法不是100%跨浏览器安全的。不幸的是不是!我试过了,但失败了!它起作用了。我刚刚测试了IE6、IE7和IE8。如果它对你来说坏了,那么你的bug很可能在其他地方。我尝试过,但如果失败了,交换的元素没有onclick属性,因此onclick事件不可用…好的,如果我想在按下其中一个按钮而不是第三个按钮时更改“onclick”,它看起来是一样的,只是显然你需要更改在两个按钮之一(而不是第三个按钮)的事件处理程序中实现切换代码。你的问题还有其他不明显的地方吗?因为您只发布了重新分配代码,所以我假设您知道如何/在何处实现它。你的问题暗示情况可能并非如此。正如我在对你最初问题的评论中所说的那样。您的问题很可能是在其他地方,因为重新分配代码起作用。在这种情况下,你需要找出它在哪里,并告诉我们,否则我们无法帮助,因为我们不知道真正的问题是什么。