Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 物化日期选择器在打开chrome上的问题后自动隐藏_Javascript_Datepicker_Materialize - Fatal编程技术网

Javascript 物化日期选择器在打开chrome上的问题后自动隐藏

Javascript 物化日期选择器在打开chrome上的问题后自动隐藏,javascript,datepicker,materialize,Javascript,Datepicker,Materialize,MaterializeDatePicker在其他浏览器和旧版本的Google Chrome中工作正常,但在新版本的Google Chrome中工作不正常 您应该使用最新版本的cdnjs,目前您使用的是0.97.5,甚至比beta版还要旧 <!-- Compiled and minified CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0

MaterializeDatePicker在其他浏览器和旧版本的Google Chrome中工作正常,但在新版本的Google Chrome中工作不正常


您应该使用最新版本的cdnjs,目前您使用的是0.97.5,甚至比beta版还要旧

 <!-- Compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">

<!-- Compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
日期选择器:

HTML

前一个是为我工作的,不知道为什么不是在你的情况下

查看最新的文档


我通过替换material.js中的setTimeout()函数解决了这个问题

setTimeout( function() {  
    if (giveFocus == true) {   
        P.$root.removeClass( CLASSES.opened + ' ' + CLASSES.focused )
        aria( P.$root[0], 'hidden', true )
    }
}, 0 )

您必须从cdn下载js文件,然后在文件搜索“p.$root.removeClass(CLASSES.opened+“”+CLASSES.focused)”中,然后用上述代码替换函数。享受:)

我也遇到了同样的问题,并这样解决了:

$('.datepicker').on('mousedown', function preventClosing(event) {
  event.preventDefault();
});
日期选择器的解决方案 selectbox的解决方案 在materialize.min.js中删除此代码

$(this).trigger('open', ['focus']);
or
a(this).trigger("open",["focus"]);

从materialize.js中删除此内容

$(this).trigger('open', ['focus']);


Chrome 84 materialize css 0.100解决方案的选择/下拉列表:


将调用hideDropdown()的超时时间从0更改为100ms。没有人会注意到它,但它也可以完成以下任务:)

将chrome版本更新到73。这个问题也开始出现在我身上。我也可以在materialize的文档中看到这个问题。由于enitre应用程序使用的是旧版本,因此我无法使用新版本。还有其他的解决方案吗?你所说的文档中的问题是什么意思?在我更新之后,这里也会发生同样的事情chrome@DivyaBarsode,我也使用了materialize的前一个版本,我不能使用这个答案,但服务于我的是“Nico JL”响应。添加event.preventDefault();对于mouseDown事件,作者建议我如何更新Materialize css库,当我们从第三方获得它时,它是高度定制的。答案完全不恰当。我想,这个线程正在寻找现有代码库的解决方案。更新chrome版本到73。这个问题也开始出现在我身上。我也可以在materialize的文档中看到这个问题。这是materialize的最新版本中出现的,还是仅仅是用这个条件(giveFocus==true | | giveFocus==null)修改上述条件的问题?上述条件中的一个在chrome 84中工作(用于解决选择)。继续研究,因为更新不是选项:(datepicker工作得非常好。selectbox的解决方案对我不起作用。在materialize.js中进行了更改其他任何内容我认为,datepicker解决方案起作用,下拉列表解决方案不起作用,可能是materialize的一个稍有不同的版本造成的。找到了下拉列表的修复方法,只需注释掉hideDropdown();在以下代码中:setTimeout(函数(){$(文档).on('click.'+activates.attr('id')),函数(e){//hideDropdown();$(文档).off('click.'+activates.attr('id');});},0);@aman_新手你解决问题了吗?如果你仍然有问题,请在上面的评论中尝试我的解决方法。@DavidC我使用了e.preventDefault()在“点击”事件中。它起作用了。我仍然对“选择”字段有问题。下拉列表没有出现。我在我的meteor项目中使用materialize,materialize的家伙从过去1.5年左右就没有将最新的代码推送到大气中。
$('.datepicker').datepicker({
  selectMonths: true,
  selectYears: 15
});
setTimeout( function() {  
    if (giveFocus == true) {   
        P.$root.removeClass( CLASSES.opened + ' ' + CLASSES.focused )
        aria( P.$root[0], 'hidden', true )
    }
}, 0 )
$('.datepicker').on('mousedown', function preventClosing(event) {
  event.preventDefault();
});
$('.datepicker').on('mousedown',function(event){
    event.preventDefault();
})
$(this).trigger('open', ['focus']);
or
a(this).trigger("open",["focus"]);
$(this).trigger('open', ['focus']);
a(this).trigger("open",["focus"]);