【问题标题】:Prevent calling javascript function on disable radiobuttonlist防止在禁用单选按钮列表时调用 javascript 函数
【发布时间】:2013-09-23 17:54:35
【问题描述】:

代码

<asp:RadioButtonList ID="rdStatus" onclick="javacript:display();" runat="server" RepeatDirection="Vertical">
<asp:ListItem Text="Temporary Waiver" Value="T" Selected="True"></asp:ListItem>    
<asp:ListItem Text="Never Expires" Value="P"></asp:ListItem>    
<asp:ListItem Text="Expires after the close of:" Value="W"></asp:ListItem>
</asp:RadioButtonList>

我的问题:

  • 在运行期间,会为单选按钮列表创建此代码 html 表格,并将点击事件放置在表格上。
  • 即使我禁用单选按钮列表,也会发生单击事件。我需要避免这个问题。请提出一些想法。

【问题讨论】:

    标签: javascript asp.net radiobuttonlist


    【解决方案1】:

    在禁用单选按钮时,将类添加为“已禁用”到单选按钮以及使用 jQuery 插入 javascript 的更好方法,如下所示

    jQuery("#rdStatus").click(function()`{  
    
        if(jQuery(this).hasClass("disabled"))
            return false;
    
        continue with you code here.............
    }`);
    

    【讨论】:

      【解决方案2】:

      您编写的代码完全按照您的要求执行:当用户单击元素时,函数运行。 有两种方法可以改变它以获得你想要的效果:

      1. 使用其他事件代替 onclick
      2. 停止函数执行

      另一个事件

      您可能希望查看 CHANGE 事件 (https://developer.mozilla.org/en-US/docs/Web/Reference/Events/change)

      停止功能

      在函数内部,您可以检查 RadioButtonList 的状态。如果它被禁用,您只需从函数中return; 而不是运行实际有用的代码。如果您不想更改原始函数,您可以编写一个小包装器,仅在启用 RadioButtonList 时调用它,并将包装器用作“点击”事件的处理程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-03
        • 2022-01-12
        • 2018-02-28
        • 2010-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多