Mozilla Firefox说没有定义Referenceerror事件,没有解决方案

时间:2015-01-07 09:31:44

标签: html javascript

我的代码遇到了麻烦。我搜索并找到了几个解决方案,但没有一个能够解决问题。问题是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();
        });
    }
}

1 个答案:

答案 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();
        });
    }
}