IE onpaste JavaScript событие - PullRequest
       26

IE onpaste JavaScript событие

2 голосов
/ 25 января 2012

Независимо от того, что я делаю, я не могу заставить IE выбрать () значение в после события "вставка" отменено.

Посмотрите на этот URL в IE и вставьте что-нибудь в текстовую область:

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

Текст должен быть выбран после вставки. Это работает в Chrome, но не может понять, как заставить работать select (), когда я отменяю вставку даже в IE:

Ответы [ 2 ]

4 голосов
/ 25 января 2012

Попробуйте:

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

    return false; 
});

Не спрашивайте меня, почему это работает, мне просто стало любопытно, и я нашел решение.

Кажется, что выбор просто не работает в контексте обработчика события вставки, может быть, в браузере происходит что-то, что отменяет выбор (хотя preventDefault все равно не помогло)

0 голосов
/ 25 января 2012

Взгляните на это: http://webcloud.se/log/Selecting-text-with-JavaScript/. Я думаю, что это проблема, и вы можете обойти это, используя

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