2016-02-20 70 views
-1

我無法在由JavaScript動態創建的文本框上觸發關鍵事件。從使用JavaScript創建的文本框中獲取價值

我已經使用這個代碼來創建文本框:

var chatAreaModel = { 
    sidebar: { 
     start: "<div class='pull-left chat-list'><div class='listview narrow'><form><input name='search' value='' id='id_search' placeholder='Search' type='text'></form>", 
     content: "", 
     end: "</div></div>" 
    }, 
}; 

我用這個功能來觸發keyup事件,但是當我在我的HTML頁面靜態創建文本框它的工作原理,但是當我動態創建文本框無法正常工作。

我已經使用這個代碼:

$('#id_search').keyup(function(){ 
    console.log("type"); 
    // alert('get val'); 
    $('input #id_search').quicksearch('div .chat-item'); 
}); 
+0

如何創建輸入?我們只能看到一些字符串,它們看起來會創建不同於您預期的HTML。在這裏timiing也很重要,你不能添加一個事件給一個不存在的元素。 – Teemu

回答

1

,您應該使用on當一個元素被添加到DOM:

$('#id_search').on('keyup', function(){ 
    // ... 
}); 
1

您是否嘗試過在功能上與選擇? http://api.jquery.com/on/

// Give your form an id (e.g. my_form) 
$('#my_form').on('keyup', '#id_search', function() { 
... 
} 
相關問題