我有一個與自動完成綁定的文本框。當輸入框的文本包含某些字符時,我還將自定義元素添加到自動完成下拉列表中。 我加入這個自定義元素自定義插件的_renderItem功能:jQuery UI自動完成:在輸入時選擇自定義項目
$tb.autocomplete({
/* OPTIONS HERE */
}).data("autocomplete")._renderItem = function (ul, item) {
if ($tb.val().indexOf('someText') > -1){
ul.append('<li class="dropdown-element"><a href="#" class="my-option">My custom option</a></li>');
}
return false;
}
我想,只要用戶類型的東西,包含「someText」和按下Enter鍵(無前的下拉列表中選擇任何東西),該爲我的自定義元素引發了自動完成的「select」事件。
我試着在文本框中爲'keyup'事件添加一個處理程序,但每次按下回車鍵時都會調用該處理程序(即使在下拉列表中選擇了某個元素),我也無法取消該事件的傳播來自自動完成的'select'事件處理程序。 (我嘗試過e.stopPropagation和e.originalEvent.stopPropagation,但它仍然被'keyup'處理程序處理)。
有關如何實現此目的的任何想法? 感謝
問題不在於添加或不添加元素,我想要做的是在用戶未選擇下拉列表中的某個項目(自定義項目或其中一個默認項目)時處理「Enter」 )。 – willvv 2012-07-15 16:58:43