2015-02-10 104 views
-1

我正面臨一個jQuery的問題。我的Click事件不能正常工作,但鼠標按下確實 這個作品點擊事件不起作用,但mousedown

$(document).on('mousedown', '.penEdit', function() { 
    $(this).parent().addClass('hOpen'); 
}); 

這並不適用

$(document).on('click', '.penEdit', function() { 
    $(this).parent().addClass('hOpen'); 
}); 

我通過AJAX加載HTML。

任何建議..

感謝

+3

有沒有合乎邏輯的理由是'click'是行不通的,但'mousedown'會。 '.penEdit'中的子元素在事件處理函數中有'stopPropagation()'或'return false'嗎? – 2015-02-10 09:15:31

+1

創建一個小提琴 – haim770 2015-02-10 09:19:17

+0

這兩個作品http://jsfiddle.net/bf4ryax2/ – nicolallias 2015-02-10 09:28:22

回答

-2

嘗試看看,如果這個工程:

$(".penEdit").click(function() { 
    alert("Handler for .click() called."); 
    console.log("I have clicked on penEdit :D"); 
}); 

如果只存在於瀏覽器的異常或羅裏已經說。嘗試在所有瀏覽器中查看你是否沒有處理異常。

+2

如果他通過ajax加載html,這將無法正常工作 – steo 2015-02-10 09:31:14

+0

如果他將在內容加載到回調函數中之後添加功能,當然如果他沒有任何錯誤,它將起作用。 – crisu 2015-02-10 10:01:40

+1

這不是一個好主意 – steo 2015-02-10 10:03:35

-1

你的代碼沒有錯,也許你剛剛添加的課程混淆了。

嘗試在點擊事件中添加不同類應該工作。

0

對我來說工作正常,看看這個小提琴: http://jsfiddle.net/hLtzL6tv/

$(document).on('click', '.penEdit', function() { 
    $('.check').parent().addClass('hOpen'); 
}); 

$(document).on('mousedown', '.penEdit1', function() { 
    $('.checkMouseDown').parent().addClass('hOpen'); 
});