2

フォーム要素にクリックイベントがあるときはいつでも要素をリロードしたかったのです。誰かがjquery構文で私を助けることができますか?何かのようなもの

function addClickHandlers() { $.publish('refreshDiv'); }

ここで、divのreloadTopicはrefreshDivに設定されています

ありがとう

4

4 に答える 4

1

[イベント]をクリックすると、フォーム要素にイベントを設定できるようになります。

$('#myForm').click(function () {
    $.publish('refreshDiv'); 
});

.delegate()フォーム内の特定の要素からのクリックのみをキャッチするために使用することもできます。

$('#myForm').delegate("input, select, textarea", "click", function () {
    $.publish('refreshDiv'); 
});
于 2010-07-23T11:20:11.990 に答える
0

すべての要素にハンドラーを追加します。

$('*').click(function () {
    $.publish('refreshDiv'); 
    return false; // to stop it from bubbling as we already handled it here.
});
于 2010-07-23T11:25:58.657 に答える
0

さて、私はあなたのテキストを 2 つの方法で解釈できます。

1)$.publishフォーム要素の子である任意の要素に対して実行

$('form').children().click(function(){
   $.publish('refreshDiv');
});

2)$.publishすべてに対して実行form elements(のようにcheckboxes, radio buttons, etc.)

$('form').find('input').click(function(){
   $.publish('refreshDiv');
});

delegateAndy E. が示唆したように、クリック イベントのパフォーマンスが向上するため、event handlersバインドされることが少なくなります。

3)

$('form').delegate('input', 'click', function(){
   $.publish('refreshDiv');
});
于 2010-07-23T11:26:49.197 に答える
0

私はパブリッシュについての考えを持っていません.jqueryでこの種のコードを見たことはありませんが、ページ全体をリロードしたい場合は、次のことを行うことができます

<button id="PageRefresh">Refresh a Page in jQuery</button>

<script type="text/javascript">

    $('#PageRefresh').click(function() {

              location.reload();

    });

</script>

特定のdivをリロードしたい場合は、jqueryでajaxを使用し、divでhtmlをリロードする必要があると思います。

$.post("/page", frm.serialize(), function(data) {
                    $("#ReminderProjectCount").html(data);
            });
于 2010-07-23T11:32:29.737 に答える