3
$('.my-button').click(function() {
    $(".my-textbox").focus()
});

在 Jquery 1.4 之前,这曾经是将焦点调用到文本框的方式,现在它不起作用。当我单击按钮时,我想将焦点调用到文本框,我所说的“焦点”是指我希望文本框像刚刚被点击一样,这样用户就不必点击文本框.

.focus应该自动点击我想要的文本框,为什么它现在不起作用?它在 Jquery 1.4 中崩溃了。我只需要知道该怎么做。

4

3 回答 3

5

它仍然有效。见这里

参考:jQuery 焦点文档

如那里所述,在一个元素上调用“焦点”可能会在另一个元素上触发“模糊”-因此请改用“焦点”。

于 2010-09-15T13:30:57.107 回答
3

你的代码对我来说很好。但是,您似乎正在尝试为输入元素创建可点击标签。如果是这种情况,则有一个名为的现有元素<label>将为您完成这项工作,无需 JavaScript:

<label for="myTextBox">I'm a label, click me</label>
<input type="text" id="myTextBox" />

示例:http: //jsfiddle.net/pkk6y/

于 2010-09-15T13:35:55.970 回答
2

这些是类选择器而不是 ID - 不确定这是否相关,但它们本质上不是唯一的 - 特别是在焦点函数 jquery 可能只是简单地拒绝 - 尝试使用 ID(和#mybutton,#mytextbox)

更新:jQuery文档页面指出了 IE 的问题:

焦点事件不会在 Internet Explorer 中冒泡。因此,依赖于具有焦点事件的事件委托的脚本将无法在浏览器中一致地工作。

于 2010-09-15T13:32:32.747 回答