Ran into this problem today, posting in case someone else has the same issue.
var execBtn = document.createElement('input'); execBtn.setAttribute("type", "button"); execBtn.setAttribute("id", "execBtn"); execBtn.setAttribute("value", "Execute"); execBtn.setAttribute("onclick", "runCommand();");
Turns out to get IE to run an onclick on a dynamically generated element, we can't use setAttribute. Instead, we need to set the onclick property on the object with an anonymous function wrapping the code we want to run.
execBtn.onclick = function() { runCommand() };
BAD IDEAS:
You can do
execBtn.setAttribute("onclick", function() { runCommand() });
相关推荐
当尝试使用`setAttribute`的`'onclick'`等事件属性时,IE6可能会忽略这些设置,导致事件处理程序无法正常工作。 这个问题的核心在于,IE6不通过`setAttribute`来处理DOM元素的事件绑定,而是需要使用`attachEvent`...
IE8不支持`setAttribute`方法来设置事件处理器是产生兼容性问题的核心原因。在标准模式下,IE8及以下版本不支持通过`setAttribute`直接为元素添加事件监听器,这与现代浏览器如Chrome和Firefox存在差异。为了确保...
然而,在不同的浏览器中,`setAttribute` 方法在处理一些特定的事件监听属性(如`onclick`)时,可能会遇到兼容性问题。 具体来说,在早期的Internet Explorer(IE)浏览器中,直接使用`setAttribute`方法来设置`...
使用`document.createElement`结合`setAttribute`方法创建单选按钮时,在IE中可能会有问题。 **解决方法:** 直接使用HTML字符串创建单选按钮: ```javascript var radio = document.createElement(...
- **设置点击事件**: 在绑定事件处理程序时,Firefox支持直接使用`element.onclick = function() {...}`的形式,而IE需要通过`setAttribute`来实现。 - Firefox中可以直接使用`obj.onclick = function(){func();}`...
不过,需要注意的是,IE并不支持使用`setAttribute()`来设置某些特定属性,特别是对象属性、集合属性和事件属性,如`style`和`onclick`。在这种情况下,我们应该使用点符号法(dot notation)来代替: ```...
首先,我们来关注第一个问题,即在IE中无法通过setAttribute()方法设置样式信息。在W3C标准中,setAttribute()方法是通用的,可以用来修改或设置任何属性,包括CSS样式。但在IE中,对于CSS属性,这个方法并不起作用...
测试环境(客户端浏览器 ) IE6,IE7, IE8兼容模式, IE8 Firefox 3.6.8, google chrome 5.0.375.125 先来说明两个函数的标准定义。 elementNode.setAttribute(name,... 一、setAttribute的问题 elementNode为<tr>
1. **获取IE浏览器实例**:在C#中,我们可以通过枚举所有活动的窗口,识别出IE浏览器窗口,并获取其句柄。常用的API函数有`FindWindow`和`FindWindowEx`,它们可以找到具有特定类名或标题的窗口。一旦获取了句柄,...
在Firefox中,使用`setAttribute("class", value)`可以正常工作,但IE需要使用`setAttribute("className", value)`。为了跨浏览器兼容,通常建议同时使用两者。 3. **样式问题**: - `setAttribute("class", value...
这里利用 setAttribute 指定 onclick 属性,简单,很好理解, 但是:IE 不支持,IE 并不是不支持 setAttribute 这个函数,而是不支持用 setAttribute 设置某些属性,包括对象属性、集合属性、事件属性,也就是说用 ...
然而,这种方法在Internet Explorer(尤其是早期版本)中不适用,因为它不支持使用`setAttribute`来设置事件属性,如`onclick`、`onmouseover`等。 对于IE浏览器,我们需要使用方法二,即`attachEvent`。这是一个IE...
formElement.setAttribute('onclick', 'doFoo();'); ``` #### 6. 创建单选按钮 创建单选按钮时,需要根据浏览器的不同选择合适的创建方式。在IE浏览器中,可以直接使用`<input type="radio">`标签。 ```...
有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了...但是:IE 不支持,IE 并不是不支持 setAttribute 这个函数,而是不支持用 setAttribute 设置某些属性
一种可能的解释是,IE6在某些情况下可能会延迟执行`setAttribute`,导致`src`属性没有立即更新,或者在某些情况下,图片加载的机制出现问题。为了解决这个问题,代码中在`setAttribute`后添加了`return false`,阻止...
在不同的浏览器中,实现方式略有差异,主要涉及到IE浏览器与非IE浏览器的兼容性问题。以下是关于JavaScript动态添加事件的一些关键知识点: 1. **setAttribute方法**: - `setAttribute` 是一个通用的方法,用于...