鼠标输入和鼠标输出事件以显示边框
Mousenter and mouseout event to show border
我有以下html结构:
<div>
<p>Name <img src="url" alt="Image A"></p>
<p>Age <img src="url" alt="Image B"> </p>
<p><img src="url" alt="Image C"></p>
</div>
当mousenter
出现在html中的任何元素上时,我只想在鼠标悬停的元素上显示红色边框。当前代码为:
$("*").mouseenter(
function(){
$(this).css("border","solid red");
}).mouseleave(
function(){
$(this).css("border","none");
});
但是,当我的鼠标进入图像A时,包含图像A的段落带有与图像A的边框。我只希望图像A具有边框。有人能建议我怎么做吗?
使用此
http://jsfiddle.net/bBx2z/
$("p:first").mouseenter(
function(){
$(this).css("border","solid red");
}).mouseleave(
function(){
$(this).css("border","none");
});
鼠标事件将弹出,这意味着它们也将触发元素的父级。您可以使用stopPropagation()
停止事件冒泡
$("*").mouseenter(
function(e){
e.stopPropagation();
$(this).css("border","solid red");
}).mouseleave(
function(e){
e.stopPropagation();
$(this).css("border","none");
});
尝试添加event.stopPropagation();
工作演示
我想你想要这个
将鼠标悬停在p
上并在p
上创建边界
$("div p").mouseenter(
function () {
$(this).css("border", "solid red");
}).mouseleave(
function () {
$(this).css("border", "none");
});
将鼠标悬停在image
上并在image
上创建边界
$("div p img").mouseenter(
function () {
$(this).css("border", "solid red");
}).mouseleave(
function () {
$(this).css("border", "none");
});
或者您可以使用e.stopPropagation();
工作演示
$("*").mouseenter(
function (e) {
e.stopPropagation();
$(this).css("border", "solid red");
}).mouseleave(
function (e) {
e.stopPropagation();
$(this).css("border", "none");
});
工作演示
$("*").mouseenter(
function (e) {
e.stopPropagation();
$(this).parents('div').css("border", "none");
$(this).parents('p').css("border", "none");
$(this).css("border", "solid red");
}).mouseleave(
function (e) {
e.stopPropagation();
$(this).parents('div').css("border", "none");
$(this).parents('p').css("border", "none");
$(this).css("border", "none");
});
一个更好的方法是添加一个类来显示元素周围的边界:
$(function(){
$(elem).on({
mouseenter:function(){
$(this).addClass("bordered");
},
mouseleave:function(){
$(this).removeClass("bordered");
},
});
})
你的CSS:
.bordered {
border:1px solid red;
}
使用
$("img").mouseenter(
function(){
$(this).css("border","solid red");
}).mouseleave(
function(){
$(this).css("border","none");
});
$(document).ready(function(){
$('div').mouseenter(function(){
$(this).addClass('border');
});
$('div').mouseleave(function(){
$(this).removeClass('border');
});
});
css
.border{
border-width:3px;
border-style:solid;
border-color:#ff9900;
}
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 使用鼠标悬停JavaScript/HTML显示文本
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- 如何在asp:linkButton上显示鼠标悬停事件上的图像
- 将鼠标悬停在图像上时显示文本
- 如何在鼠标悬停时显示带有拉斐尔元素(圆、线)的上下文菜单
- Jquery内容'再次加载内容后,s鼠标悬停不显示
- 将href链接添加到通过js鼠标悬停显示的图像
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- 鼠标悬停时突出显示文本行
- 将鼠标悬停在图像上时显示图像
- 鼠标悬停时播放视频/鼠标悬停时显示缩略图
- 仅当我在 1 秒后将鼠标悬停在 li 上时,才会在悬停时显示弹出窗口
- 鼠标输入悬停分区显示/隐藏
- 在鼠标悬停时显示对象的边框(Fabricjs)
- 如何使jssor字幕仅显示在鼠标悬停上
- Flexslider-当鼠标悬停在点上时显示工具提示
- 引导程序手风琴显示鼠标悬停上的数据
- 我如何使图像隐藏在鼠标显示
- 如何使用键盘代替鼠标显示html选择列表的工具提示