在我的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