2014-09-12 2 views
0

Хотите, чтобы открыть диалоговое окно на OnClick() событие на кнопкуоткрытый диалог на кнопку мыши

file.html

<div class="new"></div> 
<div id="dialog" title="Basic dialog"> 
    <p>This is an animated dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p> 
</div> 
<script> 
    $(function() { 
     $(".new").append('<div class="butn"><input type= "button"class ="btn btn-info " onclick="dialogopen()" value= "Reply"><>'); 
    }); 
    $("#dialog").dialog({ 
     autoOpen: false, 
     show: { 
      effect: "blind", 
      duration: 1000 
     }, 
     hide: { 
      effect: "explode", 
      duration: 1000 
     } 
    }); 

    function dialogopen() { 
     alert("hello new"); 
     $("#dialog").dialog("open"); 

    } 
</script> 

Что плохого я делаю я не знаю. Пожалуйста, помогите мне за это.

+0

Вы должны сначала связать событие. –

+0

Дополнительные '' '' при закрытии 'dialogopen' функции – Satpal

+0

Простая поездка в JSFiddle будет иметь 1), если дать вашим партнерам SO более лучший способ помочь устранить проблему. 2) уведомил вас, что у вас была ошибка в синтаксисе, поддерживающая скрипт от правильной работы. – DevlshOne

ответ

1

У вас есть дополнительные ) при закрытии dialogopen функции, Вы должны удалить его

function dialogopen() { 
    alert("hello new"); 
    $("#dialog").dialog("open"); 
//}); 
}; //Removed) in this line 

Также вы должны использовать Event Delegation с использованием .on() делегированных-событий подхода для динамических элементов, вместо встроенных обработчиков событий.

т.е.

$(document).on('event','selector',callback_function) 

Пример

$(document).on('click', ".btn-info", function(){ 
    $("#dialog").dialog("open"); 
}); 

DEMO

+0

его не работает, потому что я добавляю кнопку через jquery. – Gaurav

+0

@Gaurav, Thats, почему я дал решение делегирования событий, что будет работать, я добавил демо – Satpal

0

попробовать это.

$(".new") 
    .append('<div class="butn"><input type= "button"class ="btn btn-info " value= "Reply"><>') 
    .bind('click', function() { 
     dialogopen(); 
}) 

и

function dialogopen() { 
    alert("hello new"); 
    $("#dialog").dialog("open"); 

}; 
1

у вас есть дополнительный) в конце

function dialogopen() { 
     alert("hello new"); 
     $("#dialog").dialog("open"); 
    } 
Смежные вопросы