Javascript.RU

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

Обработка события выделения текста
$('#mailbox').hide();   
$('#mailbox').css({
    'background-color': 'white',
    'position': 'fixed',
    'left': '50%',
    'top': '50%',
    'margin-left': (-$('#mailbox').width() * 0.5),
    'margin-top': (-$('#mailbox').height() * 0.5),
    'padding': '10px',
    'border': 'solid 1px',
    'text-align': 'center'
});

$('#ask').hide();
$('#ask').css({
    'background-color': 'white',
    'position': 'fixed',
    'left': '50%',
    'top': '50%',
    'margin-left': (-$('#ask').width() * 0.5),
    'margin-top': (-$('#ask').height() * 0.5),
    'padding': '5px',
    'border': 'solid 1px',
    'text-align': 'center',
    'font-weight': 'bolder'
});


$('#content').mouseup( function(e) {
    if ($('#ask').is(':hidden')) {
        var selected_text = (
            (window.getSelection && window.getSelection()) ||
            (document.getSelection && document.getSelection()) ||
            (document.selection && document.selection.createRange && document.selection.createRange().text)
            );
        //alert(selected_text);
        if (selected_text.toString().length > 2) {
            $('#ask').text('а�б�б�б� аВаОаПб�аОб�?');
            $('#ask').removeClass('bookmark');
            $('#ask').addClass('quote');
            $('#ask').show();
            $('#mailme-quote').val(selected_text);
        }
    }
    else { $('#ask').hide(); }
});

$('#content').click( function(){ $('#ask').hide(); } )

$("#mailme-submit").click( function() {
    $("#mailbox").hide();
    $.post('/ajax/mailme/', {
        'mailme-text' : $('#mailme-text').val(),
        'mailme-email': $('#mailme-email').val(),
        'mailme-quote': $('#mailme-quote').val()
    });
});

$("#mailbox-close").click( function(){ $("#mailbox").hide(); } );

$('#ask').click( function(){
    $('#ask').hide();
    //alert($('#ask').text());
    if( $('#ask').attr('class') == 'quote' ){
        $("#mailbox").show();
        $("#mailbox").focus();
    }
    else {
        $('#ask').hide();
    }
});


#ask - маленький див, при клике на который показывается див с формой #mailbox

проблема в том, что на хроме и на фф35 конструкция события отлавливающих момент, когда был выделен кусок текста в слое #content, срабатывает не всегда. неясно отчего это зависит и как сделать всегда.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контроль ввода текста в форму Derack Events/DOM/Window 11 09.01.2011 01:07
Обработка события Deep Events/DOM/Window 12 29.07.2009 22:58
установка позиции курсора или выделения в iframe mister_maxim Events/DOM/Window 5 18.04.2009 10:43
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02