attr('disabled',true)与unbind('click')之间的区别

时间:2017-01-11 11:09:36

标签: javascript jquery

我需要在点击它的持续时间和响应到达之间禁用一个按钮。我的目标是在响应到达之前再次点击按钮时停止执行onclick功能。

在这种情况下使用哪个函数是正确的。

$('#mybutton').unbind('click');
$('#mybutton').attr('disabled', true);

3 个答案:

答案 0 :(得分:2)

禁用按钮应该是获得更好用户体验的必要条件(可选择按钮文字可以更改不同的样式),仅删除onclick事件无法提供良好的用户体验,因为用户仍然可以点击在没有任何影响的按钮上。不一定要遵循,但它可以是一种方法:删除onclick(格外谨慎),然后禁用按钮。

答案 1 :(得分:1)

$('#mybutton').unbind('click');

unbind()函数从所选元素中删除onClick事件处理程序。

$('#mybutton').attr('disabled', true);

此代码为所选元素设置disabled属性。无法单击禁用的按钮,并且通常采用不同的样式。

禁止用户单击按钮的首选方法是禁用它。如果某些条件发生变化并且您希望将其设置为可单击,则可以删除此属性,而无需再次附加onClick事件。

$(".myButton").prop("disabled", true);
$(".myCheckbox").click(function() {
  $(".myButton").prop("disabled", false);
});

答案 2 :(得分:0)

删除onclick更合适。禁用该字段并不等效:如果提交,浏览器可能会为其添加样式和/或不在表单提交中包含样式。

您可能还会发现即使按钮被禁用,onclick事件也会触发。