sbr*_*bru 13 javascript jquery jquery-ui button jquery-autocomplete
到目前为止我有这个工作代码:
小提琴:http://jsfiddle.net/r4emt/12/
在您进入JQuery UI自动完成之前,该按钮显示为"Hello".您可以在JQuery UI自动完成中键入"item",您会注意到该按钮现在显示为"World".单击"世界"按钮将项目放入列表中.如果再次键入项目,则可以选择一个项目,然后单击列表中已有项目的替换按钮.但是,一旦你这样做,按钮仍然会显示"世界",但它应该说"你好",因为输入字段中没有任何内容.如果你点击输入字段,然后点击删除或后退箭头它会改回"你好",但没有任何东西可以删除或转到左边.我认为这与代码的这一部分有关:
$('#inputWrapper').on('keyup', '#tags', function() {
if($(this).val() == '') {
$('button.addButton').text('Hello');
} else {
$('button.addButton').text('World');
}
});
Run Code Online (Sandbox Code Playgroud)
特别是'keyup'部分.所以我的问题是如何解决这个问题,这样每当输入框为空时,按钮总是显示"hello",当字段中有输入时,按钮显示为"world"?谢谢!
小智 23
这是工作小提琴.所做的更改是:
$('#tags').keyup( function() {
if($(this).val() == '') {
$('button.addButton').text('Hello');
} else {
$('button.addButton').text('World');
}
});
Run Code Online (Sandbox Code Playgroud)
并在按钮结束时单击:
$('#tags').val('');
$('#tags').keyup();
Run Code Online (Sandbox Code Playgroud)
我知道这是一个很长的死线程,但我需要添加它,因为我只花了2天时间追踪内存泄漏(由我使用此页面中的代码引起).
重要提示:不要在按钮元素上使用jQuerys text()!
该函数在DOM中创建了一些无法通过empty()删除的内容.如果你在很长一段时间内多次调用该函数,你的DOM中就会堆积大量的垃圾,导致东西破裂.
(找不到它在文档中提到的确切位置,但它在某处,我现在必须为我的火车运行)...
| 归档时间: |
|
| 查看次数: |
87420 次 |
| 最近记录: |