【发布时间】:2014-01-15 11:59:52
【问题描述】:
我有一个带有表单和一些 jquery 代码的 jsp 页面。 Jquery 代码运行良好,但如果我通过使用 ajax 调用在弹出窗口中返回该页面,则 jquery 代码不再工作。
我也尝试过使用委托,即:
$('select[name=myElementName]').on("change", function() {
// some code
});
or
$(document).on("change", 'select[name=myElementName]', function() {
// some code
});
而不是
$('select[name=myElementName]').change(function() {
// some code
});
Ajax 调用:
var preview = function () {
$.ajax({
type: "POST",
url: myAction.do,
data: "id=" + myid,
success: function (response) {
// some code
var x=window.open('', '_blank', 'titlebar=no,scrollbars=yes,menubar=no,height='+height+',width='+width+',resizable=yes,toolbar=no,location=no,location=0,status=no,left='+left+',top='+top+'');
x.document.open();
x.focus();
x.document.write(response);
return false;
},
error: function () {
return false;
},
});
};
编辑
在 Firefox 26.0 和 Chrome 32.0.x 上,我通过使用解决了
x.document.close();
之后
x.document.write(replace);
相反,在 IE 上,所有 .js 包含的脚本都会被忽略(例如 jquery-ui-1.9.1.js)。
编辑 2
我解决了
<body onload="myload()">
在我的 jsp 中我有 myload() 定义,我在其中调用脚本。
【问题讨论】:
-
-Infinity没有评论。 -
我不知道您是在尝试在打开的页面还是在您发出请求的页面上运行 .on('change'... 事件侦听器。请澄清。
-
@Brian Noah 在新打开的页面上
标签: javascript jquery ajax popupwindow