首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户单击按钮时无法禁用该按钮

当用户单击按钮时无法禁用该按钮
EN

Stack Overflow用户
提问于 2020-05-20 22:52:20
回答 4查看 157关注 0票数 0

我添加了以下jquery来禁用所有具有名为.disableButton的类的按钮,如下所示:

代码语言:javascript
复制
$('.disableButton').on('click', function (e) {
    $(this).prop('disabled', true);
});//disable further clicks
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="submit" value="Submit" class="disableButton btn btn-primary" />
<input type="text" class="disableButton" name="NPI" placeholder="" style="height: 50px;" />

但是当我点击它们时,按钮不会被禁用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-21 00:10:24

您做得很好,但是使用this this只会对特定的元素产生影响,而不是所有的元素。

而不是this,试试这个

代码语言:javascript
复制
        $('.disableButton').prop('disabled', true); 

代码语言:javascript
复制
    $('.disableButton').on('click', function (e) {
    		alert('disabling buttons, now after this buttons will not work'); 
        $('.disableButton').prop('disabled', true);
    });//disable further clicks
代码语言:javascript
复制
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <input type="submit" value="Submit" class="disableButton btn btn-primary" />
    
    <input type="submit" value="Submit 2" class="disableButton btn btn-primary" />
    
    <input type="submit" value="Submit 3" class="disableButton btn btn-primary" />
    
    <input type="text" class="disableButton" name="NPI" placeholder="" style="height: 50px;" />

票数 1
EN

Stack Overflow用户

发布于 2020-05-20 23:08:06

为什么您需要添加禁用选项,同时单击它。如果要禁用具有类name= disableButton的所有按钮,则默认情况下可以禁用。使用以下代码。

代码语言:javascript
复制
$(".disableButton").attr('disabled','disabled');

默认情况下,它将禁用所有按钮。

票数 1
EN

Stack Overflow用户

发布于 2020-05-20 23:05:38

这里有两个选项,1:使用按钮id而不是类来选择它,在类选择器中,jquery返回数组而不是单个元素。

2:只需使用e.target.disabled = true; //这是本机方式

3:或者您可以从$(this)获得第一个元素,这与来自function(e)e一样

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61924258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档