Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 在Rails、Coffeescript中首次单击后禁用链接_Javascript_Jquery_Ruby On Rails_Ruby On Rails 4_Coffeescript - Fatal编程技术网

Javascript 在Rails、Coffeescript中首次单击后禁用链接

Javascript 在Rails、Coffeescript中首次单击后禁用链接,javascript,jquery,ruby-on-rails,ruby-on-rails-4,coffeescript,Javascript,Jquery,Ruby On Rails,Ruby On Rails 4,Coffeescript,第一次单击后,应禁用以下链接 <%= link_to "Submit Order", {:action => "charge"}, class: 'btn btn-primary', id: 'confirmButton' %> $('#confimationButton').on('click', function() { if($(this).hasClass('disabled')) return; // do work $(this).addCla

第一次单击后,应禁用以下链接

<%= link_to "Submit Order", {:action => "charge"}, class: 'btn btn-primary', id: 'confirmButton' %>
$('#confimationButton').on('click', function() {
  if($(this).hasClass('disabled'))
    return;
  // do work
  $(this).addClass('disabled');
});

如何修改此代码,使链接在第一次单击时处于活动状态,然后在后续单击时处于禁用状态?

您可以在第一次单击后向按钮添加禁用的类

<%= link_to "Submit Order", {:action => "charge"}, class: 'btn btn-primary', id: 'confirmButton' %>
$('#confimationButton').on('click', function() {
  if($(this).hasClass('disabled'))
    return;
  // do work
  $(this).addClass('disabled');
});

如果要更改显示属性(颜色等),但实际上不禁用链接,则添加类是可以的。显然,设置“disabled”属性也不起作用。我看到的解决方案都是将链接的“click”处理程序设置为返回false或停止click操作的传播。这篇文章就是一个很好的例子:

对作者的回答有一点不同


然后像他提到的那样添加
禁用的

考虑改用按钮;rails的button helper支持带有
数据
属性的disabled_,该属性应在单击按钮后自动禁用按钮

这也适用于表单提交帮助器

“charge”},类别:'btn btn primary',id:'confirmButton',数据:{disable_with:'Please wait…}%>

我认为锚定标记不支持disabled属性,但按钮支持。谢谢您的回答!谢谢你的回答。这似乎是使用引擎盖下已经内置的东西的最佳解决方案。
<%= link_to "Submit Order", {:action => "charge"}, class: 'btn btn-primary', id: 'confirmButton', data: { disable_with: "Please wait..." } %>