IE onpaste JavaScript事件

时间:2012-01-24 22:50:39

标签: javascript internet-explorer paste

无论我做什么,我都无法让IE在取消后的“粘贴”事件中选择()a中的值。

在IE中查看此URL,并将任何内容粘贴到textarea:

http://jsfiddle.net/cfApa/1/

粘贴后应选择文字。这适用于Chrome,但无法弄清楚即使在IE中取消粘贴时如何让select()工作:

2 个答案:

答案 0 :(得分:4)

试试这个:

$('textarea').on('paste', function(e) {
    this.value = 'fooo';
    setTimeout(function(){ $(e.target).select(); }, 0);

    return false; 
});

不要问我为什么会这样,我只是好奇并找到了解决方案。

似乎选择只是在粘贴事件处理程序的上下文中不起作用,可能之后在浏览器中发生了取消选择的事情(虽然preventDefault仍然没有帮助)

答案 1 :(得分:0)

看看这个:http://webcloud.se/log/Selecting-text-with-JavaScript/。 我认为这是问题所在,您可以使用

进行解决
var range = this.createTextRange();
range.moveStart("character",0);
range.moveEnd("character",$(this).html().length);
range.select();