0

我有一个带有 css 类厚框的 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;
            }
4

3 回答 3

1

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

如果禁用,您的意思是不让浏览器转到 url,您必须调用event.preventDefault()(看这里

于 2012-07-13T12:13:47.463 回答
0

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

于 2012-07-13T12:30:26.213 回答
0

我不确定OP到底想做什么,但如果纯粹是为了让脚本在点击后运行一次,这样的事情会起作用......

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

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

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

于 2012-07-13T13:25:38.077 回答