1

私はそれを呼び出すときに起動するはずのこのjquery関数を持っています。私がそれを呼び出すと、今では発火します。ただし、残念ながら、OnLoad でも発生します。どうすればこれを防ぐことができますか?

メソッドを呼び出す方法は次のとおりです。

<telerik:RadListBox ID="RadListType" CssClass="RadListBoxWZMenu" runat="server" OnClientDropped="LocationItem('Type')">

ここに方法があります:

$(function LocationItem(zonetype) {
   var NewDialog = $('<div class="droppable"></div>');
   NewDialog.dialog({
   modal: false,
   title: $('<label>' + zonetype + '</label>'),
      show: 'clip',
      hide: 'clip',
      buttons: [
        { text: "Edit", click: function () { EditFields() } },
      ]
   });
   return false;

});
4

4 に答える 4

4

$() 関数でラップすると、JQuery の読み込み時に呼び出されることを意味すると思います

$() を完全に削除してみてください

于 2012-12-17T14:00:38.723 に答える
3

カプセル化括弧、先頭のドル記号、および末尾のセミコロン (つまり$();) を削除します。

于 2012-12-17T14:01:08.590 に答える
2

で関数をラップする必要はありません$。このような関数をコードに入れるだけの場合:

function LocationItem(zonetype) {
   var NewDialog = $('<div class="droppable"></div>');
   NewDialog.dialog({
   modal: false,
   title: $('<label>' + zonetype + '</label>'),
      show: 'clip',
      hide: 'clip',
      buttons: [
        { text: "Edit", click: function () { EditFields() } },
      ]
   });
   return false;
}

それなら、何の問題もないはずです。

于 2012-12-17T14:01:47.607 に答える
1

コードのラッピング

$( //your code )

と同等です

$(document).ready( //your code )
于 2012-12-17T14:02:27.887 に答える