Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 交换两个';onclicks';在ie中_Javascript_Ajax - Fatal编程技术网

Javascript 交换两个';onclicks';在ie中

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 =

我想更改两个元素的onclick。在Firefox中,此代码执行它应该执行的操作:

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”,它看起来是一样的,只是显然你需要更改在两个按钮之一(而不是第三个按钮)的事件处理程序中实现切换代码。你的问题还有其他不明显的地方吗?因为您只发布了重新分配代码,所以我假设您知道如何/在何处实现它。你的问题暗示情况可能并非如此。正如我在对你最初问题的评论中所说的那样。您的问题很可能是在其他地方,因为重新分配代码起作用。在这种情况下,你需要找出它在哪里,并告诉我们,否则我们无法帮助,因为我们不知道真正的问题是什么。