2012-02-05 183 views
6

我有一個input文本字段,它使用jQuery函數填充圖像的url。 如何使用input的「onChange」事件來運行jQuery函數?jQuery觸發器onChange

+0

你使用哈希(#)網址? – 2012-02-05 16:46:10

+0

網址中沒有散列 – user1018809 2012-02-05 16:47:41

+0

那麼這個網址是什麼樣的?我想我可以爲你寫點東西,但我對你想要的東西感到困惑。你想移動聊天嗎? – 2012-02-05 16:48:23

回答

6

如果由JavaScript更新領域,不是改變值後,只需調用它change()

$('#myId').val('new_url').change(); 
+0

也嘗試過,但如果字段被其他腳本更新,則不更新 – user1018809 2012-02-05 16:50:27

6

試試這個:

$("#myId").trigger('event_name') 

其中EVENT_NAME的事件你已經綁定的檢查功能,如keyUp或更改

6

試試這個 -

$('#myId').trigger('change'); 

把它放在你改變文本框中的url的任何函數中。

0

我無法想象問題出在.change()也許在代碼的其他地方,我剛剛測試過,如果我複製並粘貼,或者如果我鍵入一些新文本(同時具有普通和屏幕顯示鍵盤)。

它似乎沒有觸發的唯一時間是當我從桌面拖動一些文本剪輯到輸入框,但這是與它被突出顯示,當輸入框丟失焦點事件觸發我想不出任何其他用途的情況下)

你可以做類似下面使用blur()focusout()事件基本上我認爲這是change事件

function foo(e) { 
    alert(e.type + ' triggered'); 
} 

$('input').blur(function(e) { 
    $t = $(this); 
    if ($t.data('oVal') != $t.val()) { 
     $t.data('oVal', $t.val()); 
     foo(e); 
    } 
})