javascript-Chrome(开放式(重点突出)“选择”元素中的行为非常奇怪)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-Chrome(开放式(重点突出)“选择”元素中的行为非常奇怪),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1514字,纯文字阅读大概需要3分钟。
内容图文
![javascript-Chrome(开放式(重点突出)“选择”元素中的行为非常奇怪)](/upload/InfoBanner/zyjiaocheng/654/de5ae392342d4820896948d78c2e1263.jpg)
这是< select>元件:
<select>
<option>Hello</option>
<option>Banana</option>
<option>Balloon</option>
<option>Something</option>
<option>Potato</option>
<option>Cleveland</option>
</select>
以下是一些JavaScript(jQuery“就绪”处理程序):
$(function() {
function foo() {
var s = $('select').find(':selected');
}
setInterval(foo, 200);
});
Here is the jsfiddle for this question..
处理程序设置一个间隔计时器,该间隔计时器每200毫秒找到当前选择的< option>. < select>中的任何内容,完全不执行任何操作.当我在Chrome(13.0.782.112)中运行小提琴时,点击< select>元素,然后尝试选择一个条目,选择突出显示将继续跳回到第一个选定的元素.我可以单击任何< option>当然,显示的元素有效,然后在下一次执行相同的操作.
现在,如果我更改计时器处理程序,以使其不使用jQuery查找当前选择的< option>.元素,如下所示:
$(function() {
function foo() {
var select = $('select')[0];
var s = $(select.options[select.selectedIndex]);
}
setInterval(foo, 200);
});
然后我再也看不到效果了.
Firefox不会这样做.我还没有尝试过Safari.
我个人认为这是在做错事.是Chrome吗? jQuery的?
编辑-更多细节-我正在Linux上运行Chrome.我将在几秒钟内尝试使用Windows. (在Windows中进行相同的编辑.)
解决方法:
将代码更改为:
function foo() {
var s = $('select option:selected');
}
setInterval(foo, 200);
不知道为什么要这么做,但是我猜想这与伪选择器在jQuery中的工作方式有关.它们被实现为与选择器名称配对的功能(在本例中为“ selected”).因此,它们针对上下文中的每个可能元素(而不仅仅是可能被选择的元素).
也许有某种奇怪的鬼元素,不应该对它执行“选择的”伪选择器.这里的解决方案是在执行伪选择器之前,我将上下文限制为选项.总是一件好事.
内容总结
以上是互联网集市为您收集整理的javascript-Chrome(开放式(重点突出)“选择”元素中的行为非常奇怪)全部内容,希望文章能够帮你解决javascript-Chrome(开放式(重点突出)“选择”元素中的行为非常奇怪)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。