将jQuery侦听器应用于元素'的孩子
Applying jQuery listeners to element's children
我有一个带有jQuery contextmenu
侦听器的按钮。
在Safari和Chrome浏览器中,右键单击按钮时,背景会变为蓝色一秒钟,然后按钮内的文本会被选中/高亮显示。
我该如何防止这种情况发生?
jQuery(".class1").contextmenu(function (e) {
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="class1">Click Me</button>
如果问题是在按钮内选择文本,那么您可以将noselect
类添加到按钮中,不需要使用js。但也许我错了。
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */
-khtml-user-select: none; /* Konqueror */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
not supported by any browser */
}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */
-khtml-user-select: none; /* Konqueror */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
not supported by any browser */
}
/*maybe give it a static background .. */
button{
background:yellow;
}
button:active{
background:yellow!important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="class1 noselect">Click Me</button>
在你提到你在Mac上的评论中,蓝色背景/边框可能是因为你使用CTRL+LMB点击。
当按下CTRL时,这将删除按钮上的焦点:
jQuery(".class1").contextmenu(function(e) {
return false;
}).keydown(function(e) {
if (e.keyCode == 17) { //CTRL
$(this).blur();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="class1">Click Me</button>
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 有阶级元素的孩子
- 我如何定位“这个”?this' "元素的孩子
- & lt; li>带着孩子
- 从& lt; ul>< light >的子元素
- jQuery -删除模糊元素,但捕捉点击他的孩子
- 如何将点击监听器添加到聚合物自定义元素'的孩子
- 将jQuery侦听器应用于元素'的孩子
- Protractor看不到元素'的孩子