Javascript Chrome更新73-具体化CSS JS触发器错误

Javascript Chrome更新73-具体化CSS JS触发器错误,javascript,html,css,google-chrome,materialize,Javascript,Html,Css,Google Chrome,Materialize,在最新的Chrome更新73之后,Materialize CSS 0.100.2的日期选择器、时间选择器和下拉菜单不再工作,当您单击它时,它会闪烁,然后消失 知道如何解决这个问题吗?我也有同样的问题。现在,我做了一些改变,使其工作(这只是一个临时热修复为我) 在materialize.js上(materialize-v0.100.2不是最小值): 1) 第1786行有一个setTimeout(注释为“将单击关闭处理程序添加到文档”),其等待值为0,将其更改为100 2) 在第6558行,有一个绑

在最新的Chrome更新73之后,Materialize CSS 0.100.2的日期选择器、时间选择器和下拉菜单不再工作,当您单击它时,它会闪烁,然后消失


知道如何解决这个问题吗?

我也有同样的问题。现在,我做了一些改变,使其工作(这只是一个临时热修复为我)

在materialize.js上(materialize-v0.100.2不是最小值):

1) 第1786行有一个setTimeout(注释为“将单击关闭处理程序添加到文档”),其等待值为0,将其更改为100

2) 在第6558行,有一个绑定到datepicker元素外部的click。(带有注释“Bind the document events”。)将所有绑定放在一个setTimeout内,等待时间为500毫秒


修复1用于选择,第二个用于日期选择器

这是Chrome 73的回归。我们已经发布了pickadate 3.6.1,它应该可以解决这个问题


有关Chrome中的回归,请参阅。

para timepicker comentar los siguiente en materialize.js

/** Hide when clicking or tabbing on any element except the clock and input
    $doc.on('click.clockpicker.' + this.id + ' focusin.clockpicker.' + this.id, function (e) {
      var target = $(e.target);
      if (target.closest(self.popover.find('.picker__wrap')).length === 0 && target.closest(self.input).length === 0) {
        self.hide();
      }
    });*/

解决方案是使用父项筛选目标:
如果(target!=ELEMENT&&target!=document&&target!=P.$root.parent()[0]&&event.which!=3)

我在chrome中找到了此问题的修复方法,您只需使用它即可


示例:$(“#dtFrom”).off(“focus”)如果页面速度慢,则需要将其放入设置超时中,这就是我遇到的所有问题。虽然我使用的是
angular2-materialize
,但我相信这应该适用于直接使用
materialize
的人

对我有效的解决方案是用一个
div
来包装materialize
select
输入,该div有一个
单击
监听器,该监听器只调用
事件。stopPropagation()


//省略选项(与答案无关)

我希望这能帮助一些人。

对于那些懒得自己调整materialize.js的人。我已经添加了一个500毫秒的默认超时(我认为它一直有效)。这适用于日期和时间选择器

基于Armando answer(唯一适合我的答案),我使用JQuery为非角度项目创建了一个javascript函数:

function refreshSelects(){
    $('select').material_select('destroy');
    $('select').each(function(){
        $(this).parent().attr("onclick","event.stopPropagation();");
    });
    $('select').material_select();  
}
然后,当我必须初始化或刷新选择器内容时,我只需调用该函数

refreshSelects();


你检查过是否有更新要实现吗?有一个beta更新要实现,我不能将它部署到我当前的实时系统中,因为更改可能需要几天甚至几周的时间,因为更改很多,而且它不是一个稳定的版本……任何其他建议都将不胜感激。同样的功能在Edge浏览器上仍然运行良好(但很快他们将使用Chrome作为其基础…)作为临时修复,此主题正在进行详细讨论我有以下更改]()]()()()()请指定“不再工作”的含义。日期选择器工作正常,谢谢!但是计时器不起作用。。我尝试过这个链接:但没有效果。有什么建议吗?timepicker是一个定制的旧版本,使用另一个afaik脚本。请尝试在第8739行(是否有clockpicker的“Show or toggle”注释)将输入绑定放入一个等待时间为200毫秒的setTimeout中。这应该可以解决问题。@Adriano另一个修复程序也可以。查找此函数
ClockPicker.prototype.show=function(e){
Just wrap setTimeout(200毫秒)在这整个功能中,运行良好我只是想说明我必须在第一步更改行
1768
。这解决了我在Chrome上使用
的问题,同时又不干扰其他浏览器。请注意,您不知道我在说什么错误,但在尝试您建议的内容时有点谨慎。看起来您想要c极化..?我是pickadate的维护者之一,过去曾致力于materialize。请参阅和
refreshSelects();