Запуск CSS: активный селектор для неякорных элементов - PullRequest
10 голосов
/ 07 июня 2010

Как вызвать состояние: active для неякорных элементов через JavaScript (jQuery)?


При рассмотрении Раздела 5.11.3 спецификации W3C CSS2 в отношении: псевдоселектора hover, чтобы увидеть, как активировать a, я наткнулся на следующее, что привело меня к мысли, что это возможно :

«Псевдокласс: active применяется, когда элемент активируется пользователем. Например, между моментами, когда пользователь нажимает кнопку мыши и отпускает ее».

"CSS не определяет, какие элементы могут находиться в вышеуказанных состояниях или как эти состояния вводятся и оставляются. Сценарии могут изменить, реагируют ли элементы на пользовательские события или нет, и разные устройства и UA могут по-разному указывать на или активирующие элементы. "

Спасибо за помощь!

Ответы [ 2 ]

3 голосов
/ 18 февраля 2013

Я сталкивался с этим вопросом, когда искал ту же самую вещь.

В основном у меня есть текстовая область и кнопка.button.click срабатывает, когда пользователь нажимает ввод.однако: активный селектор в css не запускается, поэтому он не дает того же эффекта.

, так что это то, что я сделал.это немного избыточно, но работает.

в css

/*this is for actual clicks on the button */
.Button:active {
position:relative;
top:5px;
}

/* this is for pressing enter instead of clicking the button */
.Button.activate{
position:relative;
top:5px;
}

, затем в jquery

//if enter is pressed, trigger button click
$("#textArea").keydown(function(event){
if(event.keyCode == 13){
    $("#button").click();
    $("#button").addClass('activate');
}
});

//if enter is released, remove class
$("#textArea").keyup(function(event){
if(event.keyCode == 13){
    $("#button").removeClass('activate');
}
});
3 голосов
/ 07 июня 2010

Вы не можете запустить псевдоселектор CSS, как :active с javascript. Не существует функции / обработчика, который мог бы быть выполнен, поэтому даже если вы trigger a click для элемента, у которого установлен псевдо-селектор css :active (например, цвет фона красный), ничего не произойдет .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...