2012-10-16 4 views
0

Firefox를 사용하여 Jquery 대화 상자가 작동하지 않는 이유를 알아 냈습니다. Chrome에서 잘 작동합니다.jQuery 대화 상자가 Firefox에서 작동하지 않습니다.

$(".showTasksButton").click(function() { 
    return false; 
    var lessonId = $(this).attr('href'); 
    var dialogwindow = $(this).next().clone(); 

    dialogwindow.dialog({ 
     draggable : false, 
     resizable : false, 
     width : 300, 
     height : 350, 
     zIndex : 10001, 
     modal:true, 
     open: function(){ 
      jQuery('.ui-widget-overlay').bind('click',function(){ 
       dialogwindow.dialog("destroy"); 
      }) 
     },   
    })    

}) 

아무도 아이디어가 있습니까?

+3

는 클릭 처리기의 첫 번째 줄에 false를 반환? 대화 코드가 전혀 실행되지 않으므로 어디서나 작동하지 않아야합니다. – Amareswar

+0

어떤 오류가 있습니까? jsFiddle에서 이것을 재현 할 수 있습니까? – j08691

+0

음, 처음에는 몇 줄의 결말 (';')이 누락되었습니다. 그리고 @Amareswar가 언급했듯이, 당신은 첫 번째 라인에서 false를 반환합니다, 당신은'event.preventDefault'를 의미했을 것입니다. –

답변

1

의도 한대로이 코드가 작동합니다, 당신은 여러 라인 엔딩을 놓치고 당신은 첫 번째 줄에 false를 반환하고 있습니다 :

$(".showTasksButton").click(function() { 
    var lessonId = $(this).attr('href'); 
    var dialogwindow = $(this).next().clone(); 

    dialogwindow.dialog({ 
     draggable: false, 
     resizable: false, 
     width: 300, 
     height: 350, 
     zIndex: 10001, 
     modal: true, 
     open: function() { 
      jQuery('.ui-widget-overlay').click(function() { 
       dialogwindow.dialog("destroy"); 
      }); 
     }, 
    }); 
    return false; 
});​ 
+0

빠른 응답을 보내 주셔서 감사합니다. @Amareswar : e.preventDefault()가 파이어 폭스에서 작동하지 않으면 false가 반환됩니다. 그래서 나는 그것을 false로 바꿨다. 나는이 라인의 끝까지 false 반환을 이동 한 후에, 그것이 효과가 있다는 것을 알게되었습니다. 그렇다면 e.preventDefault가 firefox에서 작동하지 않을 수 있습니다. 도움을 주셔서 감사합니다. – user1576038

+0

@ user1576038 질문에 답한 경우 내 대답 왼쪽에있는 체크 박스를 누르십시오. –

관련 문제