CSS/HTML: мышь нажата при отмене

У меня есть тематическая ссылка с использованием CSS. У меня есть свойства CSS вверх, вниз и вверх, которые все работают.

Проблема в том, что когда вы удерживаете мышь над кнопкой, перетаскиваете, а затем отменяете, отпуская, состояние нажатия все еще применяется, пока вы снова не щелкнете по пустому пространству.

Вы можете увидеть, что я имею в виду, выполняя вышеописанное на кнопках 1, 2 и 4 здесь: http://jsfiddle.net/2vjbz/

Как вы «обновляете», не нажимая снова?


person Alex Guerin    schedule 05.01.2012    source источник
comment
К вашему сведению, этого не происходит в Chrome, но для меня это происходит в Firefox 8.0.1.   -  person Jacob    schedule 05.01.2012
comment
Для меня это похоже на ошибку Firefox и IE. FF 9.0.1 и IE 9 делают то же самое.   -  person Jacob    schedule 05.01.2012
comment
Кажется, к этому приводит псевдокласс #pager a:active. Это может быть ошибка.   -  person tuze    schedule 05.01.2012
comment
Речь идет о событии нажатия мыши. Фокус устанавливается на элемент html после успешного нажатия кнопки мыши. И я считаю такое поведение правильным.   -  person Selvakumar Arumugam    schedule 05.01.2012
comment
Может быть, вы можете использовать javascript, чтобы исправить это, если хотите.   -  person Derek 朕會功夫    schedule 05.01.2012


Ответы (1)


Согласно вашему CSS, я думаю, что это поведение правильное, но проблема в том, что событие наведения мыши не запускается, а элемент ссылки остается в активном состоянии. Вы можете исправить это с помощью jQuery, вызвав событие мыши вверх для элемента ссылки.

Один из способов - вызвать его, когда мышь перемещается в div пейджера.

$('#pager').bind("mousemove", function(event) {
    $('#pager a').mouseup();
});

Возможно, вам придется добавить условия, чтобы сделать его идеальным

РЕДАКТИРОВАТЬ:

Вы можете поэкспериментировать с ним. Это еще один метод

http://jsfiddle.net/diode/2vjbz/18/

Здесь он отменяет событие перетаскивания. Оба они работали для меня.

person Diode    schedule 05.01.2012
comment
Спасибо - код срабатывает, но у них та же проблема. Есть ли у вас какие-либо другие советы о том, как я могу заставить его работать? - person Alex Guerin; 05.01.2012
comment
пожалуйста, проверьте демонстрацию jsfiddle, приведенную в обновленном ответе. В этом я отменяю перетаскивание. На самом деле оба метода сработали для меня, используя html в вашем jsfiddle. - person Diode; 05.01.2012