第一个工作案例:我正在向我的MVC控制器发送一个ajax调用,当控制器返回成功时它会显示一个popover,我可以在点击“Hide”时关闭它。
这是代码:
$.ajax({
cache : false,
url: "http://localhost:8080/controller",
type: "POST",
data: JSON.stringify(jsonSequenceList),
contentType: "text/plain; charset=utf-8",
success: function(result) {
$('#divtodisplayresult').html(result);
$('#search-button').popover({
html : true,
title: "Consider also Searching for:",
content: function() {
return $('#popover_content_wrapper').html();
}
}).popover('show');
$("#hidepopover").click(function(){
$('#search-button').popover().popover('hide');
});
}
});
第二个NOT工作案例:现在当控制器返回时,根据结果,我有两个选项可以遵循,上面和另一个。
这是代码:
$.ajax({
cache : false,
url: "http://localhost:8080/recommender",
type: "POST",
data: JSON.stringify(jsonSequenceList),
contentType: "text/plain; charset=utf-8",
success: function(result) {
if (result.toString().indexOf("buckimg_popover_content_wrapper")){
$('#div2todisplayresult').html(result);
$('#query-wrapper').popover( {
html : true,
title: "Would you like add this to your collection?",
content: function() {
return $('#buckimg_popover_content_wrapper').html(); }
}).popover('show');
$("#noimg").click(function(){
$('#query-wrapper').popover().popover('hide');
});
$("#yesimg").click(function(){
//dostuff
$('#query-wrapper').popover().popover('hide');
});
}
else{
$('#divtodisplayresult').html(result);
$('#search-button').popover({
html : true,
title: "Consider also Searching for:",
content: function() {
return $('#popover_content_wrapper').html();
}
}).popover('show');
$("#hidepopover").click(function(){
$('#search-button').popover().popover('hide');
});
}
}
});
所以我的问题是在控制器返回之后正确进入正确的“if block”但是当我点击'No'或'Yes'时($(“#noimg”))。click(function(){} ),$(“#yesimg”)。click(function(){}))事件未被捕获,当我点击隐藏事件时($(“#hidepopover”)。click(function(){}))再次没有被抓住,而在第一个附加的工作案例中它工作正常。
我还尝试将这三个事件拖到if / else块之外,但仍然没有运气。你能帮我解决这个问题吗?谢谢。