2012-02-08 105 views
0

我不想在iPhone上捕獲粘貼事件。使用javascript jquery。我試過jquery keyup,並沒有運氣粘貼。任何消化?javascript粘貼事件iphone

這是i'we有:

$("#MyInputFields input").eq(0).bind("keyup paste", function() { 
    //do something 
}); 

,一切工作正常,如果用戶在輸入字段中的值。但是,如果用戶粘貼文本,它不會觸發。

+0

https://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/Handli ngEvents.html和http://quirksmode.org/dom/events/cutcopypaste.html可能會幫助你。 – Stefan 2012-02-08 11:33:23

回答

1

如果您的選擇是正確的,我認爲唯一的選擇是,你錯過了DOM的準備,因爲該代碼中的其他一切都看起來o.k.

$(function(){ $("#MyInputFields input").eq(0).bind("keyup paste", function() { 
     //do something 
    }); 
}); 

除非這些投入中不存在時,該行執行的頁面,那麼你需要使用委託事件像on \ delegate \ live

$('body').on("keyup paste", "#MyInputFields input", function() { 
     //do something 
    }); 

選擇功能基礎上你的jQuery版本:

$(selector).live(events, data, handler);    // jQuery 1.3+ 
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+ 
$(document).on(events, selector, data, handler);  // jQuery 1.7+ 
+0

粘貼事件不會在iphone上觸發。該keyup在我測試過的每個其他瀏覽器/平臺上都可以實現。元素在負載,所以不需要生活等。 – espvar 2012-02-08 09:12:18