2011-08-03 6 views
0

私はクラスdblclickableとDIV = "dialog-edit"を持つDIVを持っていますが、DIVをダブルクリックするとダイアログが開きません。どうして?ええと...私は「束縛」する方法がわからないという事実と関係があるかもしれません... 助けてください!ありがとう!私は、ページのロード時に確実にロードされていないほとんどを探してるmr.nicksta要素@なぜダブルクリック機能がjqueryダイアログボックスを開きませんか?

<script> 
$(".dblclickable").dblclick(function (event) { 
    var tagsedit = $("#tagsedit"), 
     elnameedit = $("#elnameedit"), 
     mngredit = $("#mngredit"); 
    $("#dialog-edit").dialog({ 
     autoOpen: false, 
     height: 300, 
     width: 350, 
     modal: false, 
     zIndex: 101, 
     buttons: { 
      "Update Element": function() { 
       if ($('#eltypeedit option:selected').text() == "Individual Resource") { 
        $(event.target).html(elnameedit.val() + " " + "<hr />" + mngredit.text() + tagsedit.val()); 
       } 
       else { 
        $(event.target).html(elnameedit.val() + " " + $('#eltypeedit option:selected').text() + "<hr />" + mngredit.text() + tagsedit.val()); 
       } 
       $(this).dialog("close"); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
}); 
</script> 

。ダイアログボグを開くためにダブルクリックされているこれらのDIVはダイナミックです - それらは別のダイアログボックスで作成されています... DIVをダブルクリックすると関数が呼び出されると思います。

@crazyarabian私は、ダイアログを複数回開く必要があるので、私はautoOpenを真にしたくありません。一度以上。いつでもDIVがダブルクリックされます。

この機能だけではダイアログが開かない場合は、私の問題があります。私はダブルクリック機能をダイアログのオープン機能に「バインド」するための他の機能が必要だと思いますが、どうすればよいかわかりません。

+0

'autoOpen:true'を試しましたか?それ以外の場合は、実際にダイアログを開いている場所がわかりません。 – sellmeadog

+0

@pleasehelpneeddesignhelp:StackOverflowへようこそ。 http://jsbeautifier.org/の助けを借りてコードインデントを整理しました。 :o) – user113716

答えて

1

文書準備完了ハンドラで上記のコードをラップしてみましたか? DOMがロードされる前にコードが実行されているため、検索対象の要素がまだロードされていない可能性があります。これを文書の準備としてラップすることによって、ページのすべての要素がロードされたときにのみ実行されます。

$(function() { 
    //your code here 
}); 
関連する問題