小编Bry*_*yan的帖子

下拉列表中的keydown事件

我正在尝试创建一个下拉列表,当用户持有SHIFT键时,它将在所有其他下拉列表中选择相同的索引.

目前,我正在做以下事情:

$(document).on('keyup keydown', function (e) { shifted = e.shiftKey });
$(document).on('change', '.report_info select', function (e) {
    if (shifted) {
        //Code to change other drop down lists.
    }
});
Run Code Online (Sandbox Code Playgroud)

仅当您在进入下拉列表之前按住Shift键时才有效.如果您在DDL内并按下shift键,则keyup/keydown事件将不会触发并shifted保持不变false

有没有办法在下拉列表聚焦时捕获keyup/keydown事件?

编辑:

看起来它可能只是Chrome的问题,只是尝试添加以下内容,它适用于Firefox和IE,但不适用于Chrome:

$(document).on('keyup keydown', 'select', function (e) {
    shifted = e.shiftKey;
});
Run Code Online (Sandbox Code Playgroud)

这是一个不适用于chrome的小提琴:http://jsfiddle.net/ue6xqm1q/4

html javascript jquery google-chrome

21
推荐指数
3
解决办法
2万
查看次数

JQuery Cycle 2:如何正确显示第一张幻灯片的索引?

我使用JQuery Cycle 2,需要在显示时显示幻灯片的索引.

这是HTML:

 <div id="slideshow"  data-cycle-auto-height="container" data-cycle-slides="> div"  >
    <div>slide 1</div>
    <div>slide 2 </div>
    <div>slide 3 </div>
    <div>slide 4</div>
</div>
<div id="caption"></div>
Run Code Online (Sandbox Code Playgroud)

这是Javascript:

$('#slideshow').cycle({
    delay: 0
});

$('#slideshow').on('cycle-before', function (e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag) {
    var caption =  (optionHash.currSlide + 1) + ' of ' + optionHash.slideCount;
    $('#caption').html(caption);
});
Run Code Online (Sandbox Code Playgroud)

这是小提琴演示:

http://jsfiddle.net/mddc/kKD9S/1/

问题是,在页面加载时,显示第一张幻灯片,但未触发事件"cycle-before",并且第一张幻灯片似乎在最后一张处理.

我做错了什么?

谢谢!

jquery-cycle jquery-cycle2

1
推荐指数
1
解决办法
3908
查看次数