私はそうのように、特定のフォームフィールドが移入された場合にのみアンカーにイベントハンドラを追加しようとしていますが発射されるようにします最初のイベントのように、私は入力したキーと同じテーブル内の行数で終わるので、2番目のイベントに伝播しています。割り当てクリックイベントハンドラはクリックイベントが複数回
ノー成功を収めて
e.stopPropagation();
しかしを追加しようとしました。
私はそうのように、特定のフォームフィールドが移入された場合にのみアンカーにイベントハンドラを追加しようとしていますが発射されるようにします最初のイベントのように、私は入力したキーと同じテーブル内の行数で終わるので、2番目のイベントに伝播しています。割り当てクリックイベントハンドラはクリックイベントが複数回
ノー成功を収めて
e.stopPropagation();
しかしを追加しようとしました。
$('this').off();
はおそらく、あなたがより良い代わりにkeyup
のinput
イベントを使用して行くと思いも$(this).off();
でなければなりません。 input
イベントはコンテンツがフィールドに貼り付けられてもトリガーされます。
をすべてのkeyup
あなたがボタンに新しい(したがって複数)click
イベント/秒を割り当てた上で:間違っていた何
// (cache your selectors)
var $newName = $("#newName"),
$newFrom = $("#newFrom");
// create a boolean flag
var haveNewValue = false;
// modify that flag on fields `input`
$newName.add($newFrom).on("input", function() {
haveNewValue = ($.trim($newName.val()) + $.trim($newFrom.val())).length > 0;
});
// than inside the click test your flag
$('#add-person').click(function (e) {
if(!haveNewValue) return; // exit function if no entered value.
// do stuff like adding row to table
});
:
にもかかわらず、私は周りに他の道を行くだろう(が修正された:)$(this).off()
が、実際のボタンをクリックした後にのみトリガーされました。また
.on()
とoff.()
を使用するためのより良い方法は、(.click()
法と.on()
方法を使用しての違いに注意してください)です。
function doCoffee() {
alert("Bzzzzzzzz...BLURGGUZRGUZRGUZRG");
}
$("#doCoffeeButton").on("click", doCoffee); // Register "event" using .on()
$("#bossAlertButton").click(function() {
$("#doCoffeeButton").off("click"); // Turn off "event" using .off()
});
あなたの問題は、その 'IF($(「#のNEWNAME」)だろう.val()|| $( '#newFrom').val()){'は何もチェックしていませんか? – Hawkeye
これは、それらのIDを持つフォームフィールドの空でない文字列をチェックしていますか?そのビットはうまくいくようです。 – saml
よろしいですか?私はこれまでに使われているものを見たことがなかった。 – Hawkeye