2015-02-10 111 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'); 
});