这是 HTML 片段:
<input type="text" name="UPCtext" id="UPCtextBar" value="" placeholder="Type UPC number" class="UPCvalue"/>
没有与此输入字段关联的事件 bind() 或 live()。
如果我删除 jQTouch,它应该可以正常工作,那么,有人遇到过这个问题吗?
快速搜索“jqtouch paste”发现了一个 jqTouch问题,表明它可能是一个 WebKit 继承错误。在这个阶段似乎没有提供任何解决方案。
我找到了解决方法:
function fixCopyPaste(el) {
el.bind('paste', function(e) {
var element = $(this).context;
var text = $(this).val();
var start = element.selectionStart;
var pastedText = e.originalEvent.clipboardData.getData('text/plain');
$(this).val(text.substring(0, element.selectionStart)
+pastedText
+text.substring(element.selectionEnd, text.length));
element.selectionStart = start+pastedText.length;
element.selectionEnd = element.selectionStart;
});
}
在要启用粘贴功能的输入元素上调用此函数。例如:
fixCopyPaste($('#notes'));
它可能可以扩展到处理多个元素。