Mar*_*ijn 1 javascript callback
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);
}
}
Run Code Online (Sandbox Code Playgroud)
鉴于此代码,我的回调在Dom中可见
function doAlert() {
alert('testing');
}
Run Code Online (Sandbox Code Playgroud)
这实际上就在我的onclick属性中.显然这不是我想要的.我需要做什么才会显示警报?我期待看到类似的东西doAlert(),为什么不是这样的?
属性值是字符串.由于传递函数,.toString()因此隐式调用其方法来设置属性值onclick.
切勿使用onclick属性.请addEventListener改用.
href.addEventListener("click", callback);
Run Code Online (Sandbox Code Playgroud)