单击事件未在Safari中使用svg元素的按钮上触发

Rak*_*hat 11 safari jquery

在Safari中,单击事件未在带有svg元素的按钮上触发.当你单击按钮边缘时单击事件会触发,但如果单击svg元素本身则不会.

$(document).on('click', 'button', function(e) {
    console.log(e);
});
Run Code Online (Sandbox Code Playgroud)

如果我附加这样的点击事件,它可以工作:

$('button').on('click', function(e) {
    console.log(e);
});
Run Code Online (Sandbox Code Playgroud)

由于动态添加了按钮,我不能这样做;

codepen.io中的示例http://codepen.io/neilhem/pen/bdGYPq

jQuery版本 2.1.3

Rak*_*hat 27

我不知道这是解决这个问题的最佳方法,但是添加pointer-events: none;到svg元素解决了问题.

svg.icon {
  pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)

  • 哇!效果非常好!谢谢! (2认同)
  • 多谢!它拯救了我的一天。 (2认同)