Допустим, у меня есть следующий код:Добавление нескольких событий к элементу
function addScrollEvent(scrollElement, direction) {
$(scrollElement).mouseover(function(){
var maxStreckeY = $("#viewport div").height() - $("#viewport").innerHeight();
var currentPos = $("#viewport").scrollTop();
if (direction == "down") {
var restStrecke = maxStreckeY - currentPos;
var timer = restStrecke/maxStreckeY * namespace.config.autoScrollSpeed;
$(element).stop().animate({scrollTop: maxStreckeY}, timer);
}
if (direction == "right") {
var width = $("#viewport div").width();
$(element).stop().animate({scrollLeft: width - $("#viewport").innerWidth()}, namespace.config.autoScrollSpeed);
}
if (direction == "up") {
var timer = currentPos/maxStreckeY * namespace.config.autoScrollSpeed;
$(element).stop().animate({scrollTop: 0}, timer);
}
if (direction == "left") {
$(element).stop().animate({scrollLeft: 0}, namespace.config.autoScrollSpeed);
}
});
$(scrollElement).mouseleave(function(){
$(element).stop();
checkScrollElements();
});
Как я добавляю несколько событий в scrollElement? я хотел бы сделать точный код на tabhold (в наведении курсора мыши часть), а также на tableave (в MouseLeave части)
Я уже пытался сделать что-то вроде этого:
$(scrollElement).on("mouseover tabhold", function(){
... the function
});
, которые на самом деле не работать, так как консоль дал мне следующую ошибку:
"on is not a function"
Кто-нибудь получил разрешение для этого без копирования и тот же код для другого блока событий? Заранее благодарен
какая версия jQuery вы используете? если в старой версии (<1.7) используйте 'live()' вместо 'on()' –
Im, использующий версию jQuery версии 1.6 – TeaTime
Вместо того, чтобы объявлять поведение обработчика внутри функции addEventListener, определите его как отдельную функцию и передайте ссылка на функцию в –