我的代码遇到了麻烦。我搜索并找到了几个解决方案,但没有一个能够解决问题。问题是mozilla firefox给了我一个错误:事件被点头定义。其他浏览器工作正常。我的HTML代码来调用函数:
var demoMap = '<table class="popup" onclick="closePopup(this)"><tr><td>';
和javascript
function closePopup(e) {
if ( $(event.target).closest("#map").get(0) == null ) {
$(e).fadeOut(500, function () {
$(e).remove();
});
}
}
答案 0 :(得分:2)
event
未定义。您应该将$(event.target)
更改为$(e.target)
。
更多 - 您不应在代码中使用内联JavaScript。 我的解决方案是将代码重写为:
var demoMap = '<table class="popup"><tr><td>; // Why HTML string in JS?
JS的其余部分:
$('table.popup').on('click', closePopup);
function closePopup(e) {
var $this = $(this);
if ( $this.closest("#map").get(0) == null ) {
$this.fadeOut(500, function () {
$this.remove();
});
}
}