在IE Edge中单击不触发模态

时间:2017-01-11 12:34:07

标签: javascript ruby-on-rails-4 javascript-events onclick microsoft-edge

我无法在Microsoft Edge中打开模式。

打开模态的链接是:

<%= link_to the_path, class: "btn btn-tertiary class-used-to-find-the-link", data: {"things-id" => 4, "other-things-id" => 7} do %>
  <span>The Link's Text</span>
<% end %>

链接的JavaScript是:

$('class-used-to-find-the-link').click(onClick);

上面提到的onClick方法类似于:

onClick   =   function(event) { 
                 //blah..blah...blah
              };

.click仅在IE Edge中未触发,但适用于所有其他浏览器。上面这个链接应该打开一个模态。我还有其他.click不打开模态的例子,这些都很好。

所以,我认为这可能与此处的讨论有关:Microsoft Edge: onclick event stops working?。与帖子链接类似,当我刷新页面链接确实有效并且模态打开时。

此外,如果我首先打开包含要在另一个标签页中单击的链接的页面,通过右键单击并在“打开新标签页”中,该链接也将有效。

我在我关联的帖子中尝试了一些答案,包括mousedownmouseup,但这些答案都无效。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这是由Turbolinks造成的,与SO问答无关:Microsoft Edge: onclick event stops working?。因此,在某种程度上,此处链接的评论:https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5782378/是有效的。

我以相同的方式和答案禁用了Turbolinks: https://stackoverflow.com/a/27196250/1945948

具体来说,问题是由turbolinks和事件处理程序如何结合引起的。禁用Turbolinks的替代方法是使用委托事件处理。这是一篇关于委托事件处理程序的好文章:https://www.iexposure.com/industry-insights/rails-4-turbolinks-and-delegated-event-handling-in-jquery