2013-01-06 43 views
-3

看看该样品奇怪的行为:http://jsbin.com/imivek/1/edit把一个输入[类型=文本]标签内的Firefox(只)

点击文本字段,它是将标签的一部分,奇怪的行为在Firefox(在v17.0.1中进行了测试):

  • 单击一次后,它会在非常短暂的时间内对焦,之后焦点移动到单选按钮。
  • 在彼此之后不久两次点击它将保持焦点。
  • 通过其他方式聚焦(f.e. tab)将会正常工作,并且如预期的那样。
  • 处理文本字段的click事件并防止它冒泡(jQuery中的e.stopPropagation())不会改变任何内容。

谁能解释这种行为并推荐如何最好地解决它?

+0

当''在'

+0

之外时,它似乎可以工作。不要依赖外部链接来显示您的代码。在问题中包含您的代码。 – Sparky

回答

2

您可能在标签内只有一个窗体控件。你有两个。由于浏览器试图弥补你的错误,你的HTML是无效的,所以会出现奇怪的行为。

点击一次会使它在非常短暂的时间内聚焦,之后焦点移动到单选按钮。

您点击了标签。这将重点放在单选按钮上(因为标签看起来就是它的标签)。

在彼此之后不久两次点击它将保持焦点。

可能是某种错误恢复

通过其他方式聚焦它的指标(如标签)将正常工作和预期。

你没有点击该标签,然后

处理文本字段的单击事件,并防止其向上冒泡(e.stopPropagation()jQuery中的术语)不会改变任何东西。

它是原生功能,不是脚本功能。

写入有效的HTML。

0

为什么在同一个<label>中有两个<input>?你想做什么?一个标签应该被绑定到一个输入元素,并作为它的标题,以便当您单击它时,输入需要关注。

相关问题