bootstrap datetimepicker需要有条件地添加keyBinds

时间:2018-01-16 23:23:24

标签: javascript twitter-bootstrap datetimepicker eonasdan-datetimepicker

我需要为删除添加keyBinds并有条件地输入按钮属性。 我尝试使用Object.assign()方法,但不确定如何获取与输入控件关联的datetimepicker对象,以及如何有条件地启用或禁用keyBinds

var $inputCtrl = $('.inputCtrl');
$inputCtrl.datetimepicker({
    locale: 'en-US',
    format: 'DD-MM-YYYY',
    useCurrent: false,
    keepInvalid: true
});

Object.assign($inputCtrl.data("DateTimePicker"), bConditionalDeleteTest && {keyBinds: {'delete': null}});

如果我们静态初始化这个对象,那就是

$('.inputCtrl').datetimepicker({
    locale: 'en-US',
    format: 'DD-MM-YYYY',
    useCurrent: false,
    keepInvalid: true,
    keyBinds: {'delete': null} /*this would disable the default Delete key behavior of the control.*/
});

1 个答案:

答案 0 :(得分:1)

您只需使用keyBinds功能即可。

  

keyBinds()

     

使用当前设置的options.keyBinds选项返回string变量。

     

keyBinds(object)

     

object值。

     

允许指定多个keyBinding函数,以便于访问或访问。有关默认值,请参阅选项页面。

您可以拥有以下内容:

var $inputCtrl = $('.inputCtrl');
$inputCtrl.datetimepicker({
    locale: 'en-US',
    format: 'DD-MM-YYYY',
    useCurrent: false,
    keepInvalid: true
});

if( bConditionalDeleteTest ){
  $inputCtrl.data("DateTimePicker").keyBinds({'delete': null});
}