Добрый день. Есть написанные мной функции на события. Но они срабатывают со второго раза то есть чтобы заработал бинд фокуса нужно кликнуть на объект задав ему фокус, потом убрать, а потом снова кликнуть и только теперь сработает применение стилей.
вот код:
CODE:
// input text behavior
(function ($) {
$.fn.textInputBehaivor = function(){
var inputBehaivor = this;
$(inputBehaivor).bind('focus', function(){
inputBehaivorFocus();
});
$(inputBehaivor).bind('blur', function(){
inputBehaivorBlur();
});
$(inputBehaivor).bind('mouseenter mouseleave', function() {
inputBehaivorHover();
});
// focus
function inputBehaivorFocus() {
$(inputBehaivor).focus(function() {
$(this).addClass('text-active');
});
}
// blur
function inputBehaivorBlur() {
$(inputBehaivor).blur(function() {
$(this).removeClass('text-active');
});
}
// mouse hover
function inputBehaivorHover() {
$(inputBehaivor).bind('mouseenter', function() {
$(this).addClass('text-hover');
}).bind('mouseleave', function(){
$(this).removeClass('text-hover');
});
}
}
})(jQuery);
На данный момент я инициализирую вот так:
CODE:
$(function() {
$('input.text').textInputBehaivor();
$('input.text').hover();
$('input.text').click();
});
Но что-то мне подсказывает, что это очень тугой способ.
Аналогично работает и функция на ссылку в виде кнопки.
Ещё. Сначала эти функции были отдельными, каждая сама по себе в
CODE:$(document).ready(function() {
//alert('Done')
});
Но что-то с подвигло меня сделать как в самом верху. Теперь имею проблемы.
П.С. Ещё очень интересно узнать, как получить буленовое значение при проверке фокуса или ховера? |