私はすでにこのコンセプトについて多くの記事があることを知っていますが、私の質問には少し違いがあります。私のページで私はどのように私のJavaScriptを呼び出す必要があります。 href、onclick、またはclickイベントをバインドしますか?
、私はリンクを持っている:
<a id="mylink">click me </a>
その後、私は使用して動的にHREFを変更しています:
$get('mylink').href = 'javascript:doSomething(id);';
を私は上記のコードを複数回呼び出す必要がありますので、私が起こります異なるidパラメータを持つ同じ関数を呼び出すjavascriptコードでhref属性の現在の値を上書きします。
これは私が今使っているものです。しかし、私はOnNavigateAwayを実装してブラウザウィンドウを閉じたときにユーザに警告しようとしていますが、これまでにいくつかのシメムが始まりました。ユーザーがhref属性の値を持つアンカーをクリックすると、IEはこのonNavigateAwayイベントをトリガーします。
だから私はjqueryのクリックイベントで、これらのHREFのを置き換えるために始めた:
しかし、このコードを複数回呼び出すことができますので、私は最初のクリックイベントをバインド解除してから再度バインドしていることを覚えている:function completed(result) {
$("#mylink").unbind('click');
$("#mylink").click(function (e) {
doSomething(result.id);
e.preventDefault();
});
}
これは私のjavascriptを処理する良い方法ですか?または、このバインディングとアンバインドの物事は良い練習ですか?
これを行う別の方法は、onclick属性をjavascriptで手動で上書きすることです。
これはどのように処理しますか?
私はあなたの応答を楽しみにしています。
私はあなたが何を意味するかを取得、私は確認する必要がありますクリックイベントがまだバインドされている場合そうでない場合は、クリックイベントをバインドしますか? – ThdK
@ThdKは '$(document).ready(function(){...})の中にラップされています。 –
これは動的に作成されます。質問を少し更新したので、応答パラメータを渡す関数があることがわかります。レスポンスはid属性を含むオブジェクトです。 – ThdK