Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery来;突出显示“;光标下的内容_Javascript_Jquery - Fatal编程技术网

Javascript 使用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> <

我试图编写一些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>
<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仍然突出显示,因为我还没有完全停止在上面悬停。