首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Firefox焦点javascript-event的奇怪行为(重复触发)

Firefox焦点javascript-event的奇怪行为(重复触发)
EN

Stack Overflow用户
提问于 2012-02-23 17:03:46
回答 1查看 282关注 0票数 0

Firefox在链接上触发焦点事件(Opera也是如此)。当我试图将处理程序附加到链接以防止它获得焦点,而不是将焦点传递给邻居输入字段时,发生了一些奇怪的事情。Firefox触发焦点事件两次,而Opera只触发一次。可能它以某种方式与js-events的捕获和冒泡阶段相关联,但我不确定,因为在这两种情况下,.eventphase- jQuery事件obj的属性等于2,即冒泡。

下面是一个测试页面:

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Text1</title>
</head>
<body>
    <a href="#" id="click">click</a>
    <input type="text" id="to_pass">
    <script type="text/javascript">
        var i = 1;
        document.getElementById('click').onfocus = function() {
            console.log(i);
            i += 1;
            document.getElementById('to_pass').focus();
            return false;
        }
    </script>
</body>
</html>

当点击发生时,会有一个调用计数回显到控制台中。

EN

回答 1

Stack Overflow用户

发布于 2012-02-23 17:07:20

在这种情况下,请使用click()而不是focus()

代码语言:javascript
代码运行次数:0
运行
复制
var i = 1;
$('#click').click(function(ev) {
    ev.preventDefault();
    console.log(i);
    $('#to_pass').focus();
    i += 1;
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9409870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档