Есть ли способ зафиксировать события вставки x-браузера в mootools?

Я хочу зафиксировать, когда пользователь вставляет данные в поле ввода текста, используя систему событий mootools.

У кого-нибудь есть опыт в этом?


person rutherford    schedule 30.01.2010    source источник
comment
Я не знаю mootools, но во всех современных браузерах есть событие onpaste.   -  person Pekka    schedule 30.01.2010
comment
Вот ответ на аналогичную проблему. stackoverflow.com/questions/2130275   -  person Mic    schedule 30.01.2010


Ответы (2)


Функция будет запускаться всякий раз, когда нажимаются клавиши «ctrl+v».

Документация Mootools: http://www.mootools.net/docs/more/Interface/Keyboard

РЕДАКТИРОВАНИЕ: код HTML и JS

<html>
    <head>
        <script type='text/javascript' src='core.js'></script>
        <script type='text/javascript' src='more.js'></script>
        <script type='text/javascript'>
        function keyPressed(e)
        {
            var evt = Event(e);
            evt.stop();
        }

        window.addEvent('domready', function()
        {
            var myKeyboardEvents = new Keyboard(
            {
                eventType: 'keyup', 
                events: 
                { 
                    'ctrl+v': keyPressed
                }
            });

            myKeyboardEvents.activate()

        });
        </script>
    </head>
    <body>
        <form id='myForm'>
            <input type='text' name='some' id='username' value='[email protected]'/>
        </form>
    </body>
</html>
person Zaje    schedule 30.01.2010
comment
не забывайте копировать/вставлять, используя ctrl+ins/shift+ins и контекстное меню – в то время как вы можете перехватывать события клавиатуры, щелчок правой кнопкой мыши/вставка будет работать, не уверен насчет onpaste - person Dimitar Christoff; 31.01.2010
comment
попробовал $('a').addEvent('paste',function(evt){...} и событие keyUp с проверкой внутри if(evt.key=='v' && evt.control), но ни один из них не работает на минута - person rutherford; 31.01.2010

В последнее время событие paste стало лучше поддерживаться: в IE оно появилось примерно с 2000 года (я думаю, в IE 5.5), в Firefox — с 3.0, в WebKit — пару лет (точно не знаю, когда именно). Вы должны использовать его там, где это возможно, и возвращаться к обнаружению ctrl-v или сдвигов в других случаях или к опросу значения поля ввода с помощью таймера.

person Tim Down    schedule 31.01.2010