Javascript 为什么不是';我的回调没有被调用吗?
给定这段代码,我的回调在Dom中是可见的,如下所示Javascript 为什么不是';我的回调没有被调用吗?,javascript,callback,Javascript,Callback,给定这段代码,我的回调在Dom中是可见的,如下所示 var handler = new Handler(); var iife = (function() { return { doAlert: doAlert }; function doAlert() { alert('testing'); } })(); function Bar(){ this.doFirst = function(){ handler.ad
var handler = new Handler();
var iife = (function() {
return {
doAlert: doAlert
};
function doAlert() {
alert('testing');
}
})();
function Bar(){
this.doFirst = function(){
handler.add("x", iife.doAlert);
}
}
function Handler(){
this.add = function(caption, callback){
var linkText = document.createTextNode(caption);
var href = document.createElement("a");
href.appendChild(linkText);
href.setAttribute("href", "#");
href.setAttribute("onclick", callback);
$(".bc").append(href);
}
}
这实际上在我的
onclick
属性中。显然这不是我想要的。我需要做什么才能显示我的警报?我希望看到类似于doAlert()
,为什么不是这样呢?属性值是字符串。由于要传递函数,因此会隐式调用其.toString()
方法来设置onclick
的属性值
切勿使用onclick
属性
属性值是字符串。由于要传递函数,因此会隐式调用其
.toString()
方法来设置onclick
的属性值
切勿使用onclick
属性
function doAlert() {
alert('testing');
}
href.addEventListener("click", callback);