2017-10-19 9 views
0

Im를 사용하고 있습니다. 대화 상자를 열 때 클릭하면 항상 두 번 클릭해야합니다. 나는 많은 많은 해결책을 시도했지만 그것은 효과가 없다.클릭시 jQuery가 두 번 클릭하여 모달 대화 상자를 표시해야합니다.

jQuery(result).on('click', function() { 
    jQuery(why).dialog({ 
    create: function (event, ui) { 
     jQuery(".ui-corner-all").css('border-radius','0px !important'); 
    }, 
    autoOpen: true, 
    title: "Whois Info", 
    width: 1170, 
    height: 600, 
    modal: true, 
    buttons: { 
     Close: function() {jQuery(this).dialog("close");return false;} 
    } 
    }); 
}); 
+0

당신은 버튼 클릭에 대화를 각각의 모든 시간을 초기화 할 필요가 없습니다. 초기화 부분을 document.ready 함수로 옮깁니다. 그런 다음 click 함수 안에서 대화 상자를 볼 수 있도록 코드를 작성하십시오. –

+0

솔루션처럼 들리 겠지만, 감사합니다. – Tony

답변

0

버튼을 클릭 할 때마다 대화 상자를 초기화 할 필요가 없습니다. 초기화 부분을 document.ready 함수로 옮깁니다. 그런 다음 click 함수 안에서 대화 상자를 볼 수 있도록 코드를 작성하십시오. 같은

뭔가 :

$(function() { 
jQuery("#id").dialog({ 
    create: function (event, ui) { 
     jQuery(".ui-corner-all").css('border-radius','0px !important'); 
    }, 
    autoOpen: true, 
    title: "Whois Info", 
    width: 1170, 
    height: 600, 
    modal: true, 
    buttons: { 
     Close: function() {jQuery(this).dialog("close");return false;} 
    } 
    }); 

jQuery(result).on('click', function() { 
    jQuery("#id).dialog('open'); 
}); 

}); 
+0

좋아요. 예제 코드를 document.ready 함수로 옮겼습니다.하지만 이제 오류가납니다. Uncaught ReferenceError : 왜 정의되지 않았습니다. 나는 그 결과가 나에게 같은 오류를 줄 것이라고 생각한다. 이유와 결과가 다른 함수에 정의되어 있다면 어떻게 해결할 수 있습니까, 감사합니다. – Tony

+0

당신은 왜 대화 상자 div id –

+0

으로 대체 할 수 있습니다. Hmmmmm Ok하지만, 다른 함수에서 이것을 선언하고 있습니다. var why = '#why'+ (index> 0? index : ''); – Tony