2012-02-05 204 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); 
    } 
})