jQuery"或“;操作员没有处理mouseleave
jQuery "or" operator not working on mouseleave?
$('.submenu' || '#categorymenu_100000')
似乎只适用于.submenu
:
$(document).ready(function () {
$('li a').on("mouseenter", function () {
if ($(this).attr('href') == "/Pages/Men") {
$('#categorymenu_100000 .submenu').show();
}
});
$('.submenu' || '#categorymenu_100000').on("mouseleave", function () {
$('.submenu').hide();
});
'.submenu' || '#categorymenu_100000'
是导致'.submenu'
的JavaScript表达式,因为'.submenu'
是一个truthy值——它是一个字符串,并且不是空的。||
选取其操作数的第一个真值。
如果您想选择与其中任一选择器匹配的元素,则需要使用CSS分隔符:,
。jQuery适用于CSS选择器,而不是JavaScript表达式(它不是魔术)。
$('.submenu, #categorymenu_100000').on('mouseleave', …);
如果你想在两个对象上都使用事件处理程序,那么你应该使用这个:
$('.submenu, #categorymenu_100000').on(...)
逗号分隔CSS选择器字符串中的多个选择器。
您的OR操作员没有按照您的想法行事。此:
$('.submenu' || '#categorymenu_100000').on(...)
与此相同:
$('.submenu').on(...)
因为string || anotherstring
总是会返回它遇到的第一个truthy值,即表达式中的第一个字符串。换句话说:
'.submenu' || '#categorymenu_100000' === '.submenu'
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何处理node.js节点mongodb中的连接和查询队列
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何处理10页以上的静态页眉/页脚
- 将事件处理程序绑定到任何可能的事件
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- python到“;流“;字典处理
- 使用javascript进行实时图像处理
- 导入jQuery脚本获胜'我不处理html文件
- Javascript无法处理表单提交
- jQuery"或“;操作员没有处理mouseleave
- 如何使用mouseout/mouseleave事件处理程序删除子菜单?