2
我們使用以下JQuery代碼(JSF)來調用Autocomplete。當用戶鍵入數據時,Everthing似乎可以正常工作,但用戶複製和粘貼Autocomplete時只能在第二次嘗試中使用。我在IE 8測試下面的代碼的任何輸入讚賞JQuery UI 1.8.23複製粘貼問題
<script type="text/javascript">
$(function() {
$(document).on('keyup.autocomplete','##{resp.workItemResponse.wiResponseId}', function() {
$('##{resp.workItemResponse.wiResponseId}').autocomplete({
minLength: 3,
source: function(request, response){
$.ajax({
type: 'GET',
url: "/iaportal/autoCompleteServlet",
cache: false,
delay: 200,
data: {
'respId':'#{resp.workItemResponse.wiResponseId}',
'type': '#{autoCompleteType}',
'term':request.term
},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){
response($.map(data.acctNum, function (item) {
return {
label: item.label,
value: item.label
}
}));
},
error: function(message){
alert("error "+message);
}
});
},
select: function(event, ui) {
var selectedObj = ui.item;
var text = selectedObj.value;
$('.autoComplete#{resp.workItemResponse.wiResponseId}').attr('value', text);
$('.autoComplete#{resp.workItemResponse.wiResponseId}').trigger('change');
}
});
$('##{resp.workItemResponse.wiResponseId}').keyup(function(){
var text = this.value;
if(text == '' || text.length == 0){
$('.autoComplete#{resp.workItemResponse.wiResponseId}').attr('value', "");
$('.autoComplete#{resp.workItemResponse.wiResponseId}').trigger('change');
}
});
}); // on Ends
var textElem;
$(document).on('paste','##{resp.workItemResponse.wiResponseId}',function() {
textElem = this;
setTimeout(invokeOnPaste , 100);
});
function invokeOnPaste(){
var text = $(textElem).val();
if(text.length == 14){
$('.autoComplete#{resp.workItemResponse.wiResponseId}').attr('value', text);
$('.autoComplete#{resp.workItemResponse.wiResponseId}').trigger('change');
} else if(text.length != 0){
$('##{resp.workItemResponse.wiResponseId}').trigger('search','autocomplete');
}
}
});
</script>
謝謝Serj Sagan。我可以使用JQuery插件修復複製和粘貼問題(CTRL + V和鼠標上下文粘貼):https://gist.github.com/mkelly12/424774。我們希望這可以在IE8中運行,並且可以使用這個插件。我認爲這也適用於其他瀏覽器。 – JQueryJSF 2013-02-22 15:53:31
是的,但它使用閃光燈在其他瀏覽器中完成 – 2013-02-22 17:13:00