在Safari中第一次单击时,jQuery单击处理程序不会触发

时间:2017-04-05 18:01:45

标签: javascript jquery html safari

我只在Safari中遇到以下问题:我将点击处理程序附加到输入。

如果我这样附加处理程序,则在第二次点击之前不会调用回调:

this.$applyForm.find("input[type='email']").click( (originalEvent) => {
  originalEvent.preventDefault();
  console.log('this should fire');
});

但是,如果我这样附加它,则会按预期调用回调:

this.$applyForm.on('click', "input[type='email']", (originalEvent) => {
  originalEvent.preventDefault();
  console.log('this does fire')
}

似乎没有包含HTML的问题,原因有两个:

1)如果我在附加点击处理程序之前登录this.$applyForm.find("input[type='email']"),它会记录一个元素,如果在处理程序连接时该元素不存在,它将永远不会因为处理程序无法附加火。

2)这是一个仅限Safari的问题。

非常感谢任何见解。

0 个答案:

没有答案