Выделение текста при использовании слайдера
Здравствуйте.
Необходимо на сайт установить слайдер (ползунок), при перемещении ползунка выделяется близ лежащий текст, а при не аккуратном перемещении может выделиться и вся страница полазив по сети нашел способ запретить выделять текст $('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, время: 05:09. |