我有点击事件的监听器,我需要从中排除一些元素.
现在我的列表正在增长,所以我正在寻找一种更好的方法来"捆绑"选择器中的多个元素.
这就是我所拥有的:
$(document).on('click tap', function(event) {
if ($(event.target).closest('div:jqmData(panel="popover")').length > 0 ||
$(event.target).closest('div.pop_menuBox').length > 0 ||
$(event.target).closest('.toggle_popover').length > 0 ) ||
$(event.target).closest('.ui-selectmenu').length > 0 {
return;
}
// do stuff
});
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来排除这些元素?
感谢帮助!
我正在用jsperf(这里)改进我的一些脚本的性能的第一步.
我想知道是否有可能删除/删除我意外发布的测试版本 - 它们已被破坏且无法使用,因此:
问题:
假设我在进行修订5时想出它是如何工作的 - 有没有办法删除修订版1-4?
谢谢!
我正在玩nth-child选择器.
说我有网格,各有4个元素的行和我的第一个和最后一个元素拥有类ui-first-child和ui-last-child分别为:
<ul>
<li.ui-first-child>
<li>
<li>
<li.ui-last-child>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想要做的是,如果使用纯CSS 有超过4个元素,则仅选择第一个元素.
所以,如果有五个这样的元素:
<el.first><el><el><el>
<el.last>
Run Code Online (Sandbox Code Playgroud)
我想覆盖第一个元素的底角.
问题:
纯CSS/nth-child/first/last类是否可以选择元素数> 4的元素组中的第一个元素?
谢谢!
当用户在桌面上切换标签时,我正试图从(jQuery Mobile)文本输入中删除焦点.虽然我可以在下面的控制台中正确识别activeElement,但我无法编辑其任何属性或删除其焦点.
这就是我正在做的事情:
// inside some init method
window.onfocus = function () {
// triggers
console.log(document.activeElement);
if (document.activeElement.tagName !== "BODY") {
console.log("clear focus");
document.activeElement.blur();
document.activeElement.className = "FOOBAR";
}
};
Run Code Online (Sandbox Code Playgroud)
当我在一个表单上并聚焦文本输入时,然后切换到另一个选项卡并返回到带有表单的选项卡,事件侦听器触发并且我的仍然活动的输入被正确记录.然而就是这样......我无法模糊或编辑任何元素属性.
问题:
如何正确地从活动元素中移除焦点window.onfocus或window.onblur?
谢谢!
PS:它也不适用于jQuery:
$(window).on("focus", function () {
$(document.activeElement).blur();
});
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个只有JavaScript的解决方案.
编辑:
document.activeElement.blur()从控制台工作正常,但不是从我的听众.
我坚持以下几点:
脚本返回任意数字n或数组,如下所示:
[["a"], ["b"], ["c"], ["d"]]
Run Code Online (Sandbox Code Playgroud)
我需要使用promise循环遍历数组then(),但由于我不知道会有多少元素,所以我最终做到了这一点:
var bundle_list = [["a"], ["b"], ["c"], ["d"]];
var x = bundle_list.reduce(function(current, next) {
console.log(current);
// requestBundle will also return a promise
return requestBundle(current)
.then(function(bundle_response) {
// do foo
console.log("CALLING NEXT")
console.log(next);
return RSVP.resolve(next);
});
})
x.then(function(last_response) {
return console.log("DONE")
});
Run Code Online (Sandbox Code Playgroud)
我的问题是我的reduce/map两个都在我的异步代码运行之前触发所有迭代,所以我得到3倍的current控制台,然后是done控制台.所以我的所有地图"循环"都会立即运行,结果会稍后(稍后)计时...
我正在使用这个RSVP实现,但它是A +所以不应该是一个问题.我一直在努力解决这里提供的答案,但我无法让它正常工作.
问题:
是否可以使用任意数量的then语句创建"then-chain" .如果是这样,一些指针表示赞赏!
谢谢!
我知道这很挑剔但是我正在和一个编辑器一起工作,这个编辑器会发现CSS并不断抱怨
don't use adjoining classes > e.g. .foo.bar
Run Code Online (Sandbox Code Playgroud)
我忽略了这些警告,但这让我很好奇,也找不到任何东西.说我有:
<ul class="foo bar"></ul>
Run Code Online (Sandbox Code Playgroud)
哪个CSS选择器更快:
ul.foo
.bar.foo
Run Code Online (Sandbox Code Playgroud)
我知道选择器从右到左工作,因此在两种情况下foo都会先选择,之后浏览器必须找到所有ul选择(?)或所有.bar元素(?).
问题:
在CSS中,[class][class]速度快于[element][class]?
谢谢!
在所有浏览器中,1em不应该是16px吗?
我有这个CSS
* {font-size: 1em; }
label { font-size: .85em; }
Run Code Online (Sandbox Code Playgroud)
IE8上的标签元素高度为12px,相对于我希望的13.6px.
感谢帮助!
我正在尝试CSS fluid tab menu使用可变数量的选项卡创建一个(类似于Windows中可以看到的,其中选项卡根据包含的标题的长度进行扩展,请参见下文).

这是一个例子,我有设置(我需要保持元素结构):
<div class="test">
<div class="element">
<h3>
<span class="dummy-a">
<span class="dummy-ui-btn-inner">
<span class="dummy-ui-btn-text">very long text is this</span>
</span>
</span>
</h3>
</div>
<div class="element">
<h3>
<span class="dummy-a">
<span class="dummy-ui-btn-inner">
<span class="dummy-ui-btn-text">Two</span>
</span>
</span>
</h3>
</div>
<div class="element">
<h3>
<span class="dummy-a">
<span class="dummy-ui-btn-inner">
<span class="dummy-ui-btn-text">Three</span>
</span>
</span>
</h3>
</div>
<div class="element">
<h3>
<span class="dummy-a">
<span class="dummy-ui-btn-inner">
<span class="dummy-ui-btn-text">Four</span>
</span>
</span>
</h3>
</div>
<div class="element">
<h3>
<span class="dummy-a">
<span class="dummy-ui-btn-inner">
<span class="dummy-ui-btn-text">Five</span>
</span>
</span>
</h3>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和CSS: …
就是想.我有一个方法(URItemplate),我需要在未定义的情况下返回undefined.目前我这样做:
var x = UriTemplate.parse(value || "").expand({"some":"properties"} || {});
Run Code Online (Sandbox Code Playgroud)
如果value我的扩展对象{}作为空字符串和空对象传递,x等于"".
我想知道是否有任何我可以使用空字符串将其转换为undefined,所以我可以稍后调用...
$.ajax({"url": x || default_url})...
Run Code Online (Sandbox Code Playgroud)
当然有if-else或者?:我||也是if-else,但我想知道是否还有另一种方法可以做到这一点.
谢谢!
我正在寻找使用 div 标签中的列表项创建 HTML 列表元素。我知道有display:list-item,但如果我有这个:
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
得到这个:
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
.item { display: list-item};
.list { display: block };Run Code Online (Sandbox Code Playgroud)
没有得到我任何地方。
问题:
有没有办法<ul>使用<div>标签获得等价物,为什么不存在display:list-itemwhen display:list?
谢谢!