Firefox焦点javascript事件的奇怪行为(重复激发)
Strange behavior (duplicate fire) of Firefox focus javascript-event
Firefox在链接上触发焦点事件(Opera也这样做)。当我试图将一个处理程序附加到链接以防止它获得焦点,并将焦点传递给邻居输入字段时,发生了一些奇怪的事情。Firefox触发焦点事件两次,而Opera只触发一次。也许它在某种程度上与js事件的捕获和冒泡阶段有关,但我不确定,因为在这两种情况下。jQuery事件obj的eventPhase属性等于2,即冒泡。
下面有一个测试页面:
<!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>
当点击发生时,会有一个调用计数回显到控制台中。
在这种情况下,使用click()
而不是focus()
:
var i = 1;
$('#click').click(function(ev) {
ev.preventDefault();
console.log(i);
$('#to_pass').focus();
i += 1;
})
小提琴示例
相关文章:
- Javascript游戏输入失去焦点
- 无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本
- Javascript:联合焦点模糊
- 无法通过 JavaScript 在输入焦点上触发键盘
- 在 javascript 中将焦点设置在 dataTable 上
- Javascript焦点()出现问题
- 在表单提交后将焦点设置回原位(javascript)
- 如何使用javascript将焦点设置为文本框
- Javascript弹出窗口在某些情况下失去焦点
- 初学者尝试使用焦点/模糊:JavaScript
- Javascript 焦点删除文本突出显示
- Javascript焦点在Firefox中不起作用
- Javascript 焦点到文本框
- javascript焦点()是't聚焦
- JavaScript焦点()函数没有't将文本区域集中在页面加载上
- Javascript焦点按钮
- Javascript焦点不保留
- Javascript焦点在加载时不工作
- Javascript焦点对动态加载的输入框不起作用
- Javascript焦点函数没有按预期工作