Выделение текста при использовании слайдера
Здравствуйте.
Необходимо на сайт установить слайдер (ползунок), при перемещении ползунка выделяется близ лежащий текст, а при не аккуратном перемещении может выделиться и вся страница полазив по сети нашел способ запретить выделять текст $('body').select(function() { return false; }); способ решает проблему в ИЕ и Сафари. Но вот мозилка не поддается .. как можно побороть мозилку ? Спасибо. |
Перехватывайте mousedown на ползунке и прерывайте его дальнейшее всплытие. Работать будет везде, без дополнительных телодвижений.
|
мне казалось я так и делаю ?
//drag and drop var slide = { drag: function(e) { // $('body').select(function() { return false; }); var d = e.data; var l = Math.min(Math.max(e.pageX - d.pageX + d.left, ps.limited.min), ps.limited.max); $sliderProcess(slider, completedbar, l); //push two parameters: 1st:percentage, 2nd: event ps.onChanging(l / ps.limited.max, e); // document.body.onselectstart = function() { return false } }, drop: function(e) { // $('body').select(function() { return false; }); slider.removeClass(ps.sliderHover); //push two parameters: 1st:percentage, 2nd: event ps.onChanged(parseInt(slider.css('left')) / ps.limited.max, e); $().unbind('mousemove', slide.drag).unbind('mouseup', slide.drop); } }; if (ps.enable) { //bind events slider.bind('mousedown', function(e) { var d = { left: parseInt(slider.css('left')), pageX: e.pageX }; $('body').select(function() { return false; }); // ВОТ ТУТ! $(this).addClass(ps.sliderHover); $().bind('mousemove', d, slide.drag).bind('mouseup', d, slide.drop); }); } |
http://javascript.ru/tutorial/events...ovka-vsplytiya
Цитата:
|
Странное дело
сделал как из туториала slider.bind('mousedown', function(e) { var d = { left: parseInt(slider.css('left')), pageX: e.pageX }; // $('body').select(function() { return false; }); event = e || window.event // кросс-браузерно if (event.stopPropagation) { // Вариант стандарта W3C: event.stopPropagation() } else { // Вариант Internet Explorer: event.cancelBubble = true } $(this).addClass(ps.sliderHover); $().bind('mousemove', d, slide.drag).bind('mouseup', d, slide.drop); }); Но все равно в мозилке не работает :( |
ХЗ че там в этих ваших jquery'ях происходит. У меня на pure-js все работает.
|
похоже нашел что в JQ есть нечто вот такое
event.preventDefault(); что скорее всего приостаавливает всплытие :-) по крайне й мере то работает :-). Спасибо. Классный у Вас тут сайт, поселюсь вероятно я теперь у Вас :-) |
|
Я уже прочитал этот туториал. Теперь становится понятней
|
Часовой пояс GMT +3, время: 09:25. |