2011-12-09 2 views
0

は、私はそれは、この同じ入力の属性texttoreplaceに設定されたテキストの存在を持っている場合、入力中のテキストを変更するには、次のコードを得た:I除いて正常に動作しjqueryの変更入力要素(生きる)

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

そのフォーカスが外れているときにだけトリガーすることができます。ケース値> 0で同じ結果をトリガする方法はありますか?私はその入力にテキストを追加する別のJavaスクリプトソースを持っています。 (入力されていない)。

おかげで、

答えて

1

あなたが使用することができます変更()イベントリスナー:

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

しかしfocusoutが.replace_pathの値と、この意志を更新しますので、あなたは、無限再帰ループを開始するには注意する必要があります変更コールバック関数をトリガーします。

0

.change().focusout()の問題は、それらの両方が発生する前にイベントをユーザーに.blur()する必要があるということです。

ちょうどかかわらず、直接イベントをトリガすることができます

function yourJavaScript() { 
    $(".replace_path").val('your custom text'); 
    $(".replace_path").trigger('focusout'); 
} 
関連する問題