在我的ASP.NET应用程序中我使用母版和iFrame作为应用程序的内容部分(也有一个侧栏和菜单栏出iFrame)。访问<select>来自MasterPage(在同一域中)的子iFrame
我的目标是插入一个jQuery/javascript函数来拦截哪个<select>
元素获得子iFrame中的焦点。
MasterPage和iFrame都是同一个应用程序的一部分,iFrame不打开外部页面,但是.aspx页面的应用程序,因此是相同的域。
但无论如何,“焦点”事件似乎不起作用,因为内部代码没有执行。
下面是函数:
$("#tabFrame").load(function() {
$("#tabFrame").contents().find("SELECT").focus(function() {
alert('focus on');
}).change(function() {
$.ajax({
type: "POST",
url: "../WebService/registerChanges",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
controlName: dropDownId
}),
success: function(data) {
var result = JSON.parse(data.d);
if (result.Success) {
alert("Successfully found.");
}
}
})
})
})
由于函数本身是正确的,我想有一些问题试图从外部访问内部的IFrame,但我不能找出哪些。
有什么建议吗? (我使用IE8作为浏览器)
谢谢。
您是否已验证$(“#tabFrame”).load(...)是否正在触发? – Nathan 2011-05-10 09:23:53
因为您位于$(“#tabFrame”)内部。 ..),也许$(“#tabFrame”)不匹配任何东西 - 尝试更改$(“#tabFrame”)。contents()。find(“select”)to $(“select”) – Nathan 2011-05-10 09:25:48
验证iframe被解雇我在$(“#tabFrame”).load()函数后面添加一个简单的警报。 刚开始时我只是用$(“select”),但即使这样也不起作用 – Francesco 2011-05-10 09:40:54