内联点击处理程序不起作用
Inline onclick handler does not work
我想使用内联回调函数,所以我有以下html标记:
var callback = function (index) {
return function () {
return action.delete({
index: index
})
}
}
var markup = items.map(function (item, index) {
return ('<button onclick="return ' + callback(index) + ';">Delete</button>')
}).join(''n')
document.getElementById('main').innerHTML = markup
但是当我单击按钮时,我的回调不起作用。上面的代码有什么问题?谢谢。
在您的情况下,callback(index)
返回函数,但是当它与字符串连接时.toString()
函数方法隐式调用并以字符串形式返回函数体。
您的代码应如下所示:
var callback = function (index) {
return action.delete({
index: index
});
}
var markup = items.map(function (item, index) {
return ('<button onclick="return callback(' + index + ');">Delete</button>')
}).join(''n')
document.getElementById('#main').innerHTML = markup
在这种情况下callback
必须在全局范围内定义函数。
最好使用 addEventListener
为 Click 事件设置侦听器功能。
相关文章:
- 回发前所需的字段验证程序不起作用
- Angular.js ajax和应用程序不起作用
- Rails4-启动多个点击事件处理程序不起作用
- touchstart处理程序之后的touchmove处理程序不起作用
- 我的angular应用程序不起作用
- 油脂猴按钮点击处理程序不起作用
- 插入内容后,Iframe 中的单击处理程序不起作用
- 内联点击处理程序不起作用
- 脸书应用程序不起作用
- 委托的事件处理程序不起作用
- 使用 fdb 调试 Adobe AIR JavaScript 应用程序不起作用
- 主干.js事件处理程序不起作用
- 为什么我的 PeerJS 音频聊天应用程序不起作用
- 单击不同 js 文件中定义的事件处理程序和就绪处理程序 - 不起作用
- 邀请朋友尝试脸书应用程序不起作用
- 如果不在 onLoad 函数中,jQuery 事件处理程序不起作用
- 为什么当服务注入第二个控制器时,AngularJS 1.4.8 应用程序不起作用
- 从页面调用时 Jquery 事件处理程序不起作用
- 哨兵程序不起作用
- jQuery on() 单击事件处理程序不起作用