Javascript 在私有函数中设置eventlisteners
我的情况是:Javascript 在私有函数中设置eventlisteners,javascript,javascript-events,Javascript,Javascript Events,我的情况是: function C() { this.create = function() { var div=document.createElement("div"); div.setAttribute("onclick","alert('this works')"); div.onclick=function(){
function C() {
this.create = function() {
var div=document.createElement("div");
div.setAttribute("onclick","alert('this works')");
div.onclick=function(){
alert("this doesnt work");
}
document.appendChild(div);
}
this.create();
}
var x = new C();
在javascript中不能这样设置onclick事件吗??
调用的函数是否应该全局定义???我可以理解这个问题,它不是全局定义的。但是我想在定义onclick事件的函数中使用私有变量。有什么建议吗?怎么样
div.addEventListener('click', function() {
alert('hello!');
}, false);
?
这样,函数是匿名的,并且只在声明它的范围内可见。这不是全球性的
以下是addEventListener上的一些API文档:关于
div.addEventListener('click', function() {
alert('hello!');
}, false);
?
这样,函数是匿名的,并且只在声明它的范围内可见。这不是全球性的
这里是addEventListener上的一些API文档:您发布的内容几乎是。将元素附加到
文档
之外的任何内容,例如:document.body
。不要使用setAttribute
设置事件处理程序,因为它有缺陷。
您可以使用onclick
属性或W3C标准addEventListener
方法(attachEvent
在IE中)
你所发布的内容几乎完全相同。将元素附加到
文档
之外的任何内容,例如:document.body
。不要使用setAttribute
设置事件处理程序,因为它有缺陷。
您可以使用onclick
属性或W3C标准addEventListener
方法(attachEvent
在IE中)
我相信这与
div.onclick=function(){alert(“this not work”);}
是一样的,它也使用了一个注释性函数。是的,但是“my”方法允许您添加多个侦听器。为它分配=只允许您有一个侦听器。我相信这与div.onclick=function(){alert(“这不起作用”);}
是一样的,它也使用了一个注释性函数。是的,但是“my”方法允许您添加多个侦听器。为其分配=只允许您有一个侦听器。