Javascript 使用jQuery来;突出显示“;光标下的内容
我试图编写一些jQuery代码,通过在光标周围添加边框来突出显示光标当前悬停的元素。以下是我目前掌握的代码:Javascript 使用jQuery来;突出显示“;光标下的内容,javascript,jquery,Javascript,Jquery,我试图编写一些jQuery代码,通过在光标周围添加边框来突出显示光标当前悬停的元素。以下是我目前掌握的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hover Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(function() {
$("*:not(html, head, body)").hover( function () {
$(this).css("border", "2px solid purple");
},
function () {
$(this).css("border", "none");
}).click( function () {
alert($(this).html());
});
});
</script>
</head>
<body>
<div>
<p>This is paragraph one</p>
<p>This is paragraph two</p>
</div>
<span id="curtag"></span>
</body>
</html>
悬停试验
$(函数(){
$(“*:not(html,head,body)”)。悬停(函数(){
$(this.css(“边框”,“2px纯紫色”);
},
函数(){
$(this.css(“边框”、“无”);
})。单击(函数(){
警报($(this.html());
});
});
这是第一段
这是第二段
问题是,当我将鼠标悬停在下面示例中的某个段落上时,它还会突出显示父标记(在本例中为div)。此外,当我单击该段落时,它会给出p的html,然后是div的html,但是,我只希望p标记中有html。关于如何解决这个问题有什么建议吗?添加
return false;
像这样
$(function() {
$("*:not(html, head, body)").hover( function () {
$(this).css("border", "2px solid purple");
return false;
},
function () {
$(this).css("border", "none");
}).click( function () {
alert($(this).html());
return false;
});
});
停止鼠标悬停事件向父对象冒泡。您在允许触发hover()事件的元素方面过于笼统。当您说
光标当前悬停在
上的元素时,它指的是几个嵌套的元素,这些元素适当地都有边框
如果你只在
中有文本,为什么不让它们单独触发边框呢
$('p').hover(function() { etc.....
谢谢你的回复。这非常有效,唯一的一件事是,如果说我有它,它突出显示div fist,然后进入段落标记,div仍然突出显示,因为我还没有完全停止在上面悬停。