Jquery UI live():专注于“点击”以外的事件

时间:2011-08-23 00:04:25

标签: javascript jquery html css

以下代码显示单击(最初隐藏)文本框时的Jquery UI日期选择器。任何人都知道如何允许“标签”按钮激活它?在这种情况下,datepicker类适用于文本框。许多用户会使用tab而不是点击,现在它不起作用..

$(function() { 
    $('.datepicker').live('click', function () {
            $(this).datepicker({showOn: 'both'}).focus();
    });
});

2 个答案:

答案 0 :(得分:2)

当您说“允许'标签'按钮激活”时,我认为您的意思是按Tab键将焦点转移到文本框中?如果是这种情况,the live handler也适用于focus事件,因此您只需更改代码即可抓住focus事件而不是clickclick会使场地得到焦点和射击。)

编辑: ..如果重新阅读代码,我的草率示例会导致无限焦点循环,请尝试此操作:

$(function() { 
    $('#ReferenceNumber').live('focus', function () {
        var picker = $(this).datepicker({showOn: ''});
        picker.datepicker("show");
    });
});

答案 1 :(得分:1)

你可能想在keydown上委派。

$('body').live('keydown',function(e){
        //Keycode 9 is the tab key
        if(e.keyCode == 9) {
            $('.datepicker').datepicker({showOn: 'both'}).focus();
        }
});