Javascript 如果在ASP.NET中href为空,则禁用锚定标记

Javascript 如果在ASP.NET中href为空,则禁用锚定标记,javascript,jquery,asp.net,postback,unbind,Javascript,Jquery,Asp.net,Postback,Unbind,我有一个ASP.NET菜单,它在渲染时会生成许多锚定标记。 我的要求是 如果href或 锚定标记为“”或“#” 使光标不显示 手 首先,我检查了一个生成的锚标记的标记 <a href="#" class="popout level1 static" tabindex="-1" onclick="__doPostBack('ctl00$NavigationMenu','Unternehmen')"> Com

我有一个ASP.NET菜单,它在渲染时会生成许多锚定标记。
我的要求是

  • 如果href或 锚定标记为“”或“#”
  • 使光标不显示 手
  • 首先,我检查了一个生成的锚标记的标记

        <a href="#" 
            class="popout level1 static" 
            tabindex="-1"  
            onclick="__doPostBack('ctl00$NavigationMenu','Unternehmen')">
            Company
        </a>
    
    当我将鼠标悬停在空链接上时,光标显示的是默认链接,而不是手动链接,这意味着可以识别我的锚。但是当我点击锚时,回发发生了

    尝试替换
    anchor.unbind('click')anchor.kill('click')
    尝试替换
    e.preventDefault()通过追加
    e.stopPropogation
    甚至
    返回false
    尝试将
    anchor.bind('click',函数(e){
    替换为
    anchor.click(函数(e){


    似乎什么都不起作用。我的代码有什么问题?

    尝试在代码中使用
    锚。删除锚(“onclick”);

    只使用空href或“#”href在锚中循环怎么样

    $(".menu a[href='#'], .menu a[href='']").unbind('click').css("cursor", "default");
    
    编辑:

    似乎
    .unbind
    只会解除使用
    .bind
    方法绑定的事件的绑定:/


    .removeAttr
    is:)

    与其删除事件处理程序,为什么不显式地用以下内容替换它:

    anchor.click(function() { return false; });
    

    与其删除eventhandler,不如使用以下简单的代码行

    实际上我想在页面的查看模式下禁用我的链接。 这对我有用

    在代码隐藏中:

    href.Attributes.Clear();
    href.Disabled = true;
    
    在源代码中:

    <a href="#" id="href" runat="server" onclick="Showpopup();" style="azimuth:left;" >Create New</a>
    
    
    
    成功了。非常感谢:)看在上帝的份上!解开一个事件不是正确的方式吗?一个是事件属性,另一个是DOM事件,两者都做相同的事情,不幸的是,它们不必指向同一个投票人。谁否决了这个答案?这太不公平了。@ivanov:我已经投了更高的票。@FarligOpptreden:我没告诉你。:)我没说你说过是的…我只是说我投了更高的票。:)那只会增加一个点击功能,不是吗?会的,但我想值得一试看看会发生什么。:)-1仔细阅读问题。不是写着我试过了吗?哦,soz…好像我错过了最后一句话…:谢谢你,先生!会的,先生!(编辑:没有讽刺的意思,承诺)
    <a href="#" id="href" runat="server" onclick="Showpopup();" style="azimuth:left;" >Create New</a>