[英]jQuery Rotator Is Alphabetical, how can I make it randomized on my homepage?
[英]how can i set focus of a rotator / carousel on my web page
如何在网页上设置旋转器/转盘的焦点
根据我的代码,两个旋转器同时滑动,但我只希望聚焦的那个旋转器滑动。
我在"carousel_inner"
div
上添加了tabindex属性,并且还在"#home_rotator"
div
上添加了tabindex,然后调用了focus函数,但是它们同时在我的网页中聚焦
我的代码是:
$("#carousel_inner").attr("tabindex",0).focus(function() {
$(document).keydown(function(eventObject) {
if(eventObject.which==37) {//left arrow
$("#carousel_inner").focus();
$('#left_scroll').click();//emulates click on prev button
} else if(eventObject.which==39) {//right arrow
$("#carousel_inner").focus();
$('#right_scroll').click();//emulates click on next button
}
});
});
//添加键盘导航
$("#home_rotator").attr("tabindex",-1).focus(function() {
$(document).keydown(function(eventObject) {
if(eventObject.which==37) {//left arrow
$("#home_rotator").focus();
base.goBack();//emulates click on prev button
} else if(eventObject.which==39) {//right arrow
$("#home_rotator").focus();
base.goForward(); //emulates click on next button
}
});
});
您将事件绑定到焦点函数中。 一旦事件绑定,就绑定了。 使元素失去焦点不会解除绑定先前的事件,除非您通过在.blur()
事件中编写.unbind()
语句来明确告知它。
但是,最好不要在.keydown()
事件之外绑定一次 .keydown()
focus()
事件,然后检查哪个元素具有焦点并执行所需的操作。
$(document).keydown(function(e) {
if ( document.activeElement.id === 'carousel_inner' ) {
if ( e.which === 37 ) {
// event for left key on carousel_inner
}
else if ( e.which === 39 ) {
// event for right key on carousel_inner
}
}
else if ( document.activeElement.id === 'home_rotator' ) {
if ( e.which === 37 ) {
// event for left key on home_rotator
}
else if ( e.which === 39 ) {
// event for right key on home_rotator
}
}
});
jsFiddle: http : //jsfiddle.net/9ErRF/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.