如何根据布尔值更改jQuery方法
How to change a jQuery method depending on value of a boolean
我想更改jQuery方法
parent()
至
children()
这取决于用户屏幕的宽度。
以下是我所拥有的(相关代码片段):
var me = $(this);
var generation = $(window).width() > 767 ? 'parent' : 'children';
if( !me.is(e.target) && !me.is($(e.target)[generation]() ) {
me.removeClass(activeClass);
}
无论屏幕大小,这都没有做任何事情,也没有抛出错误。。。
如果我记录变量一代根据屏幕大小检查,正确的字符串返回到控制台,所以我一定是把方法的写入方式搞砸了。
这里有人有真知灼见吗?
问题可能是缺少)
[1] 尝试:
var me = $(this);
var generation = $(window).width() > 767 ? 'parent' : 'children';
if (!me.is(e.target) && !me.is(($(e.target)[generation])())) {
me.removeClass(activeClass);
}
[2] 或者为什么不这样做:
var me = $(this);
var generation = $(window).width() > 767;
if (!me.is(e.target) && ((generation == true && !me.is($(e.target).parent())) || (generation == false && !me.is($(e.target).children())))) {
me.removeClass(activeClass);
}
[3] 或者这个:
var me = $(this);
if ($(window).width() > 767 && !me.is(e.target) && !me.is($(e.target).parent())) {
me.removeClass(activeClass);
} else if (!me.is(e.target) && !me.is($(e.target).children())) {
me.removeClass(activeClass);
}
[4] 或者这个:
var me = $(this);
var check = $(window).width() > 767 ? $(e.target).parent() : $(e.target).children();
if (!me.is(e.target) && !me.is(check)) {
me.removeClass(activeClass);
}
为什么不简单地使用:
$(window).width() > 767 ? parent() : children();
相关文章:
- 如何在扩展jQuery方法时传递参数
- 用jQuery方法扩展Zepto.js?scrollTop()
- 如何使用页面's的jQuery方法
- 在 JQUERY 中创建 HTML 后,Jquery 方法不起作用
- 下拉 jquery 方法发布表单不起作用
- jQuery方法未按预期工作-toggleClass
- jQuery 方法调用了两次
- jQuery方法添加一个TextBox
- 在coffeescript中链接jquery方法和参数
- 在jQuery方法中编写自定义属性的正确语法是什么
- 我的jquery方法没有'不起作用
- jQuery方法找不到选择器
- 单击按钮后需要jQuery方法重定向-ASP.NET、VB.NET、jQuery、Javascript
- 如何在jquery方法中创建一个if语句
- 在jQuery方法中实现Javascript变量
- 使用参数作为jQuery方法
- 对从Ajax返回的数据使用Jquery方法,不打印数据
- 如何通过 .ajax() jQuery 方法获取 Carrierwave 上传到 Amazon S3 的图像的 URL
- 如何调用 jQuery 方法
- 插件中的元素不接受 jQuery 方法