c# - jQuery 代码适用于 Chrome 和 Mozilla 网络浏览器,但不适用于 Internet Explorer

标签 c# jquery .net

我在 aspx 文件中有以下代码:

<asp:GridView ID="GridView1"  runat="server" ShowFooter="true"  
AutoGenerateColumns="False" >
   <Columns>
            <asp:TemplateField>
              <ItemTemplate>
<asp:LinkButton ID="Button1" runat="server" Text="Active" OnClientClick="return 
confirmMessage(this);" />
             </ItemTemplate>
    </Columns>
</asp:GridView>

我有以下 Jquery/客户端代码

function confirmMessage(obj)
{
if ($(obj).attr("text")=="Active")
{
return confirm("Convert from active to inactive");
}
else
{
return confirm("Convert from inactive to active");
}
}

上面提到的代码在 Mozilla 和 Chrome 浏览器上运行良好,但在 Internet Explorer 的情况下,它总是执行第二个 block ,即

return confirm("Convert from inactive to active");

帮助将不胜感激。

最佳答案

您的问题很可能与不同浏览器之间的字符串比较差异以及 text-from-DOM 生成机制的差异有关。您是否尝试查看在调试器(例如 IE9 开发人员工具/脚本选项卡)下,什么返回 IE 下的 $(obj).attr("text")

此外,比较文本的方法无论如何都不是高度可靠的(例如,在 LinkBut​​tonText 发生任何更改后它都会失败)。我建议您改用类或不同的链接按钮,例如:

  1. 为 LinkBut​​ton 使用以下标记:(注意 CssClass 属性):

    <asp:LinkButton ID="Button1" runat="server" Text="Active" 
    OnClientClick="return confirmMessage(this);" CssClass="button-activate" />
    
  2. 然后使用以下 JavaScript:

    function confirmMessage(obj) {
         if ($(obj).is(".button-activate")) {
              return confirm("Convert from active to inactive");
         } else {
              return confirm("Convert from inactive to active");
         }
    }
    

当您的按钮不再是“激活”而是“停用”时,只需将任何其他 CssClass 值添加到 LinkBut​​ton

关于c# - jQuery 代码适用于 Chrome 和 Mozilla 网络浏览器,但不适用于 Internet Explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10895900/

相关文章:

javascript - 单击多种颜色更改单选按钮颜色

jquery - 使用无缝循环水平居中 bxSlider 轮播的事件图像?

c# - 为什么 HttpClientHandler 同时具有 Proxy 和 UseProxy 属性?

c# - 重构单例过度使用

c# - 如何在Elastic Search中为带有GeoShape字符串GeoJson多边形的类型化对象编制索引?

C#线程不释放内存

C# 身份 : howto find and update different identity's claims in UserStore?

c# - MySql 连接,我可以让它保持打开状态吗?

jquery - 具有视口(viewport)大小但也具有最大宽度的 Fancybox

.net - 在 Visual Studio 安装项目中将 DLL 部署到 GAC 时出现问题