多くの場合、ロードした後にイベントをトリガーした後(「変更」など)に、ビヘイビアをエレメントにバインドする必要があります。 私は最善の方法は、同じ行にそれを作ることであろうと思う:Jquery:バインドロード+変更を同時に実行
$('#element_id').bind('load, change', function() {
...
});
しかし、これは「負荷」の「変更」とはないために動作します。より良い方法がありますか?
多くの場合、ロードした後にイベントをトリガーした後(「変更」など)に、ビヘイビアをエレメントにバインドする必要があります。 私は最善の方法は、同じ行にそれを作ることであろうと思う:Jquery:バインドロード+変更を同時に実行
$('#element_id').bind('load, change', function() {
...
});
しかし、これは「負荷」の「変更」とはないために動作します。より良い方法がありますか?
私は同じ問題に出くわし。
$(document).ready(function(){
$('#element_id').bind('load change', function() {
... // (this DOESN'T get called on page load)
});
});
私はload
イベントが$(document).ready()
前にトリガーを取得推測:カンマを削除すると、少なくともこのケースではない、十分ではありません。
これはシンプルなソリューションです:あなたは、イベントの機能を実行したいときすぐに、すでにロードされたコンテンツの
$(document).ready(function(){
$('#element_id').bind('change', function() {
...
});
$('#element_id').trigger('change');
});
これでも10億回の変更イベントがループされます。理由は分かりません。私はこの方法と他の方法を試してみました。 –
あなたはこの機能の中でイベントを誘発していますか?それはループしてはならない、どこかのエラーがあるはずです。最小限のエラーケースを作成し、別の質問でコードを投稿することができます。あなたは "投稿"ボタンを押す前にそれを理解するでしょう。 :) – johndodo
関数内ではトリガーしません。 $ {'employee_dropDown'} $ {'employee_dropDown'}。( 'change'、function(event){ var form = $(event.target).parents( "form"); form.submit(); } '変化する');あなたが上に置いたとしても、それはループするでしょう。 –
コンマを削除するだけでいいですか?
追加するには:http://api.jquery.com/bind/ –
コンマはありません。ドキュメントを読む。
カンマなしでそれを試してみてください。
$('#element_id').bind('load change', function() {
...
});
、あなたはトリガーを避けるために、独自の命名のカスタムイベントを使用することができます組み込みイベントのライブラリなどからの既存のバインディング
$(".my-selector").on("change rightnow", function() {
// do stuff...
}).triggerHandler("rightnow");
カンマを削除しましたが、とにかく動作しません。私は、ロードでいくつかの制限があると思う。 – max