Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2013, 23:38
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

Некорректно обрабатывает выделение
Я пишу плагин к хрому. этот код при выделении текста вываливает алерт и дальше делает то что нужно. но: срабатывает он не на всех сайтах (с манифестом проблем нет) и в вокруг текста появляется рамка - вот когда в ней выделаю , тогда все срабатывает. такая рамка очень не на многих сайтах появляеся. мне нужно чтобы при выделении любого текста в любом месте страницы код срабатывал.

jQuery(function($) {

    var $txt = '';
     
    $('.content').bind("mouseup", function(e){
        if (window.getSelection){
            $txt = window.getSelection(); 
        }
        else if (document.getSelection){
            $txt = document.getSelection(); a
        }
        else if (document.selection){
            $txt = document.selection.createRange().text; 
        }
        else return;
        if    ($txt!=''){
          alert($txt);  $('#popUpBox').css({'display':'block', 'left':e.pageX-60+'px', 'top':e.pageY+5+'px'});
        }
    });
     
    $(document).bind("mousedown", function(){
        $('#popUpBox').css({'display':'none'});
    });
     
    $('#popUpBox').bind("mousedown", function(){
        $('#replytext').val($txt);
    });
     
});


внедряется он так
Код:
$.get(chrome.extension.getURL('/injection.js'), 
    function(data) {
        var script = document.createElement("script");
        script.setAttribute("type", "text/javascript");
        script.innerHTML = data;
   
       document.getElementsByTagName("head")[0].appendChild(script);
      document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();");
    }
);
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2013, 17:25
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Сообщение от alex55 Посмотреть сообщение
вокруг текста появляется рамка - вот когда в ней выделаю , тогда все срабатывает.
Вы обрабатываете событие на элементе $('.content'), который судя по всему находится в $('#popUpBox').
Хотите на всём документе - так и вешайте событие на документ.
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2013, 15:35
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

спасибо! повесил обработчик на document. и все ок теперь почти. но на некоторых сайтах это не работает. к примеру на вконтакте рамка пустая вверху появляется и выделение не работает... и на ютубе тоже. на остальных сайтах вроде пашет. в чем может быть проблема?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оставить выделение при смене фокуса DZHETIGAPA Events/DOM/Window 5 01.02.2018 20:11
массове выделение:) розовый слоник Events/DOM/Window 7 02.02.2011 17:02
Выделение текста в текстовом поле. Как снять выделение с пробела вконце? Roman Koff Events/DOM/Window 10 01.07.2010 16:48
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42
Выделение одиночных тэгов Pattern Events/DOM/Window 7 26.05.2009 23:29