首次点击javascript后如何禁用锚标记?

时间:2012-07-13 12:09:12

标签: javascript asp.net thickbox

我有一个带有css类thickbox的 a href 标记我需要在第一次点击后禁用该链接。我怎么能这样做?

Aspx代码

<a href="SomePage.aspx?FDID=11&KeepThis=true&TB_iframe=true&height=150&width=400"
     onclick="return DoSomething(this)" class="thickbox" id="AnchorID">
<img id="MyImageButton" alt="Image" src="SiteImages/image.png" runat="server" />
</a>

我的JavaScript方法

function DoSomething(element) {

                return true;
            }

3 个答案:

答案 0 :(得分:1)

在您的javascript中,您可以在元素中设置属性disabled=""。 (看here

如果在禁用时,您的意思是不让浏览器转到该网址,则必须致电event.preventDefault()(查看here

答案 1 :(得分:0)

为此,您必须创建一个隐藏的feild,它将存储值示例1或0.如果用户第一次单击该链接,则将隐藏的feild值设置为1并允许用户重定向然后禁用超链接。如果用户再次单击超链接,则首先检查隐藏的feild是否包含值1,然后不允许他重定向。希望你理解我的观点。还要在javascript中设置href属性。

答案 2 :(得分:0)

我不确定OP究竟要做什么,但是如果它纯粹是为了允许脚本在点击之后运行一次,那么这样的话会起作用......

function DoSomething(element) {
  if(element.getAttribute("block")==null){
    ...
    element.setAttribute("block","1");
    return true;
  }else{
    return false;
  }
}

这样做的好处是不需要通过设置disabled属性来改变按钮的样式。

但是,从该函数返回true,然后将true返回到该链接的OnClick处理程序,将导致浏览器导航到href中的网址...所以我不明白为什么需要阻止第二次运行。 (除非thickbox,我一无所知,以一种不正常的方式运作。)