Jquery更改输入元素(实时)

时间:2011-12-09 22:56:10

标签: jquery replace live

如果在同一输入的属性texttoreplace中存在文本集,我得到以下代码来更改输入中的文本:

    $(".replace_path").focusout(function() {
        $(".replace_path").val($(".replace_path").val().replace($(this).attr('texttoreplace'),""));
    });

它的工作正常,但我只能在焦点出现时触发。有没有办法在案例值>中完成触发事件的相同结果? 0?因为我有另一个java脚本源将文本添加到该输入。 (它没有打字)。

谢谢,

2 个答案:

答案 0 :(得分:1)

您可以使用change()事件侦听器:

$('.replace_path').change(function() {
  if ( $('.replace_path').val() > 0 ){
    alert('Handler for .change() called.');
  }
});

但是你应该注意启动无限递归循环,因为focusout会更新.replace_path的值,这将触发更改回调函数。

答案 1 :(得分:0)

.change().focusout()的问题在于,它们都要求用户在事件发生之前.blur()事件。

您可以直接触发事件:

function yourJavaScript() {
   $(".replace_path").val('your custom text');
   $(".replace_path").trigger('focusout');
}