2013-06-27 56 views
0

我在文檔中嵌套了iframe。 我在父窗口中有一個輸入域,它觸發了一個keyup函數來獲取輸入數據庫。我無法訪問keyup函數,所以我想基本上插入一個字符串並從iframe中觸發一個keyup事件,以便該函數可以觸發。jQuery在iframe中輸入keypress事件給父母不觸發功能

我的代碼:

parent.$("#my_input").focus(); 
parent.$("#my_input").trigger(jQuery.Event('keyup', {keycode: 13})); 

我綁定一個警報事件,以測試它是否確實觸發事件。它的確如此。但是keyup函數不會被調用。 如果我身體按下鍵,它可以工作,但不會當我用jQuery觸發它。

我已經遍佈整個stackoverflow搜索,但找不到任何類似的東西。

我已經試過

parent.$("#my_input").focus(); 
    parent.$("#my_input").keypress(); 
    parent.$("#my_input").keyup(); 
    parent.$("#my_input").blur(); 

使用像左箭頭,或隨機字符以外的鍵碼也試過。它們都不起作用。

任何建議都會很棒。 在此先感謝。

+0

是iframe中的內容的文件都在同一個域,並且他們使用'window.domain = ...'明確地聲明? –

+0

雅,他們在同一個域 –

+0

你在腳本中設置'window.domain ='mydomain.com';'?嘗試將其添加到在iframe中運行的腳本,以及外部的腳本。 –

回答

0
var ev  = jQuery.Event('keyup'); 
    ev.which = 13; 

parent.$("#my_input").focus(); 
parent.$("#my_input").trigger(ev); 

不確定什麼parent是,但用選擇器鏈接它看起來很奇怪嗎?

你確定它不只是

$("#my_input").focus().trigger(ev); 

FIDDLE

+0

我也這麼做過。它不起作用。事件被觸發,但附加的功能不會。 但是,如果我身體上的一個關鍵,它的作品... –