0
我有一個自動完成文本框無法觸發按鍵事件。Jquery keyup或keydown事件不起作用
下面是自動完成框代碼
<script type="text/javascript">
$(document).ready(function() {
$("#TransFinishedPartNumber").autocomplete({
source: function (request, response) {
// define a function to call your Action
$.ajax({
url: '@Url.Action("partLookUp", "Transaction")',
// term will be the param used by your action method
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.pt_part + " " + item.pt_desc1, value: item.pt_part };
}))
$("#TransFinishedPartNumber").removeClass('acLoading');
},
error: function() {
$("#TransFinishedPartNumber").removeClass('acLoading');
}
})
},
minLength: 1, // require at least one character from the user
search: function() { $(this).addClass('acLoading'); },
});
});
現在,這裏是它的JavaScript將永遠不會觸發...不住或結合或任何與此有關的...的事件,但最不可思議的是自動完成框中工程...
<script type="text/javascript">
//Transaction Event handlers and ajax calls
$(document).ready(function() {
$("#TransFinishedPartNumber").bind("keydown",function (e) {
$("#TransFinishedPartNumber").addClass("ui-state-default");
});
$("#TransFinishedPartNumber").bind("keydown",function (e) {
$("#TransFinishedPartNumber").removeClass("ui-state-default");
});
});
餘噸裏德這樣也
<script type="text/javascript">
//Transaction Event handlers and ajax calls
$(document).ready(function() {
$("#TransFinishedPartNumber").keydown(function (e) {
$("#TransFinishedPartNumber").addClass("ui-state-default");
});
$("#TransFinishedPartNumber").keydown(function (e) {
$("#TransFinishedPartNumber").removeClass("ui-state-default");
});
});
我改這個劇本是絕對肯定的,當你按住該鍵
<script type="text/javascript">
//Transaction Event handlers and ajax calls
$(document).ready(function() {
$("#TransFinishedPartNumber").keydown(function (e) {
alert(e.which);
});
});
你確定它只是沒有開火,問題不是'兩者都同時發射?嘗試刪除第二個綁定並將'addClass'更改爲'toggleClass' – bokonic 2012-07-24 21:17:37
在這種情況下,** debug **是您的朋友:組成重複(或通常 - 不會重現)問題並檢查它的平凡頁面。處理小布局和小js更容易,而不是與你綁定'keydown'的巨大項目 – zerkms 2012-07-24 21:18:03
,所以它立即添加然後刪除類。 – MrOBrian 2012-07-24 21:22:34