2011-08-03 5 views
0

나는 dblclickable 클래스와 DIV를 가지고 있는데, id = "dialog-edit"인 DIV를 가지고있다. 그러나 DIV를 더블 클릭하면 대화 상자가 열리지 않는다. 어째서? 음 ... "바인딩"하는 법을 모르겠다는 사실과 관련이있을 수도 있습니다 ... 도와주세요! 감사! 더블 클릭 기능이 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> 

는 mr.nicksta @ 나는 확실히 가장 찾고 있어요 요소 아직 페이지가로드 될 때로드되지 않았습니다. 대화 상자 늪지를 열기 위해 더블 클릭되는 이러한 DIV는 동적입니다. 대화 상자가 다른 대화 상자에 의해 만들어졌습니다 ... DIV를 두 번 클릭하면 함수가 호출되는 .dblclick 함수를 사용하여 생각했습니다.

@crazyarabian 두 번 이상 열려면 대화 상자가 필요하기 때문에 autoOpen을 true로 설정하지 마십시오. 한 번 이상. DIV가 더블 클릭 될 때마다

이 기능만으로 대화 상자가 열리지 않으면 내 문제가 있습니다. 더블 클릭 기능을 대화 상자 열기 기능에 "바인딩"하는 다른 기능이 필요하다고 생각합니다. 그러나 어떻게 해야할지 모르겠습니다.

+0

'autoOpen : true'를 사용해 보셨습니까? 그렇지 않으면 대화 상자를 실제로 여는 위치가 표시되지 않습니다. – sellmeadog

+0

@pleasehelpneeddesignhelp : StackOverflow에 오신 것을 환영합니다. http://jsbeautifier.org/의 도움으로 코드 들여 쓰기를 정리했습니다. :영형) – user113716

답변

1

문서 준비 처리기에서 위의 코드를 래핑 해 보았습니까? DOM이로드되기 전에 코드가 실행되어 검색중인 요소가 아직로드되지 않았기 때문일 수 있습니다. 문서 준비가 완료되면 페이지의 모든 요소가로드 된 경우에만 실행됩니다.

$(function() { 
    //your code here 
}); 
관련 문제