2012-02-08 67 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