0
$(document).delegate("input#search-champions", "change", function(e)

每当我更改里面的值search-champions时,我都必须在文本框外部单击才能使其工作。我希望函数在文本框内的值发生变化时运行。

我忘记了它叫什么,但它与 Google 用于搜索的系统相同。你写 A,它会用 A 显示结果。

4

2 回答 2

2

尝试绑定到keyup事件:

$(document).delegate("#search-champions", 'keyup', function(e)

顺便说一句,应该没有必要在你的选择器前面加上input- ID 无论如何都应该是唯一的!

于 2013-02-08T16:47:42.773 回答
1

更改事件不适用于文本框。相反,您可以使用按键或按键事件进行更改。你想要什么,我们称之为自动完成。所以最好的方法是在 keyup 事件上

$(document).delegate("input#search-champions", "keyup", function(e){
var elm=$(this);
var str=elm.val();
//now you can get word starting from a either from some array or server call or ajax.

});

如果您使用的是 jquery ui。它具有自动完成功能。

http://jqueryui.com/autocomplete/

$(document).delegate("input#search-champions", "change", function(e)

于 2013-02-08T16:52:51.887 回答