我有以下代码
HTML:
<div id="test">
<p id="hello">HELLO</p>
<p id="no-hello">NO HELLO</p>
</div>
jQuery的:
$('#test').click(function() {
alert($('#hello').is(':hover'));
if ($('#hello').is(':hover')) {
alert('hello');
}
});
我一直在使用jQuery 1.6,它运行良好。但现在由于某种原因使用了1.9而这已经停止了工作。 我尝试在网上找到解决方案,但没有得到任何暗示。
Thanx All。
答案 0 :(得分:0)
如果您需要在此上下文中单击区域的ID,您可以尝试:
$('#test').click(function(event) {
alert(event.target.id);
if (event.target.id == "hello") {
alert('hello');
}
});
但是jQuery 1.9 +
不支持你提供的方法请参阅您方法的另一种选择:
$('#test').click(function() {
alert($('#hello:hover').length ==1);
if ($('#hello:hover').length) {
alert('hello');
}
});
答案 1 :(得分:0)
作为A.V.指出,你的方法不适用于jQuery 1.9 +。
但是你为什么这样做呢?
为什么不简单地将两个不同的点击事件分配给hello
和no-hello
?
function doOnBoth() { ... };
$("#hello").click(function () {
doOnBoth();
alert('hello');
});
$("#no-hello").click(function () {
doOnBoth();
alert("not hello");
});
或者您可以为两个元素分配类,然后为该类分配一个事件,并为ID分别单击事件。
问题是,可以触发点击而不会先触发悬停。
除非我没有得到你想要达到的目标......