我需要点击按钮发送请求,但是在点击按钮的点击事件时没有收到回叫。 以下是代码段:
$(document).ready(function () {
var counter = 0;
$("#trail").click(function () {
$("#dialog").dialog();
if (counter < 1) {
$("#searchboxdiv").after('<input type="text" id="searchbox">');
$("#searchbox").after('<input type="button" id="searchbutton" value="search">');
counter++;
}
});
$("#searchbutton").click(function () {
var dataToSend = null;
$.ajax({
data: dataToSend,
url: "FormHandler",
success: function (result) {},
beforeSend: function () {
dataToSend = $("#searchbox").val();
}
});
});
$("#searchboxdiv").on('click', "#searchbutton", function(){
var data = null;
});
});
我动态地在对话框中添加了文本框,单击对话框中的按钮,未收到回调
答案 0 :(得分:1)
使用事件委派(动态添加#searchbutton
)
$('#searchboxdiv').on('click',"#searchbutton",function(){
答案 1 :(得分:1)
您的选择:
使用事件委派。将点击绑定到立即静态父级,如下所示:
$("#searchboxdiv").on('click', "#searchbutton", function(){ });
或者,将其绑定到文档。
$(document).on('click', "#searchbutton", function(){ });
或者,在counter++;
之后移动现有点击,即在$("#trail")
的点击处理程序中。
有关详细信息,请参阅on()