Firefox为事件对象提供错误

时间:2013-04-25 10:33:01

标签: javascript jquery firefox event-handling

此代码适用于chrome,但不适用于IE或Firefox。

$('.modal').on("click", ".action", function() {
    if($(event.target).hasClass('added')) {
        if($(event.target).hasClass('remove_vehicle')) {
           //code
        }

我在Firefox控制台上收到此错误:

ReferenceError: event is not defined
[Break On This Error]   

if($(event.target).hasClass('added')) {

这里有什么问题? event.triggerhasClass都应该适用于Firefox。

2 个答案:

答案 0 :(得分:8)

试试这个 -

$('.modal').on("click", ".action", function(event) { // see the difference in this line 
    if($(event.target).hasClass('added')) {
        if($(event.target).hasClass('remove_vehicle')) {
           //code
        }

答案 1 :(得分:0)

您可以使用this代替event.target。事实上,event是一个保留变量,可能在某些浏览器上定义但在其他浏览器上不定义。正确的方法是:

$('.modal').on('click', '.action', function() {
    if ($(this).hasClass('added') && $(this).hasClass('remove_vehicle')) {  
        //code
    }
});