我有一个按钮(创建),当它被点击时,它会创建一个新按钮(更改坐标),该按钮应该能够在单击时打开对话框。
首先我创建了一个对话框窗口,我是通过JavaScript创建的,这就是它在HTML中的样子:
<div id="dialog-form" title="Change coordinates">
<p class="validateTips">Both fields are required.</p>
<form>
<fieldset>
<label for="lon">Longitude (decimal)</label>
<input type="text" name="lon" id="lon" value="" class="text ui-widget-content ui-corner-all">
<label for="lat">Latitude (decimal)</label>
<input type="text" name="lat" id="lat" value="" class="text ui-widget-content ui-corner-all">
<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">
</fieldset>
</form>
</div>
现在,当点击创建按钮时,我创建了一个能够打开对话框的新按钮:
$( "#create" ).button().on( "click", function()
{
var btn = document.createElement("BUTTON");
btn.id = "change_coord";
var t = document.createTextNode("Change coordinates");
btn.appendChild(t);
document.body.appendChild(btn);
});
这就是我的对话框的样子:
dialog = $( "#dialog-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons:{
"Create an account": addUser,
Cancel: function(){
dialog.dialog( "close" );
}
},
close: function(){
form[ 0 ].reset();
allFields.removeClass( "ui-state-error" );
}
});
奇怪的是,当我创建对话框和按钮以在
中打开它时,它可以正常工作$(function()
{
....
});
但是,当我动态创建此按钮以打开对话框时,它根本不起作用。
HERE是向我展示问题的小提琴。
答案 0 :(得分:0)
Per Charlietfl,谁是正确的&#34;生活&#34;已被弃用,但它仍然是问题的常见解决方案。我使用过的另一种方法也是:
[16-Jan-2016 03:06:40 Europe/Berlin] PHP Parse error:
但是,我无法使用$(&#34;#selector&#34;)来使用JQuery来处理动态加载的HTML.on(),我必须使用上面显示的$(document).on语句。
感谢。