我有一个链接,我想知道是否有可用的javascript来使链接只能点击一次。
我刚才的onclick
是:
javascript:writeBookmark(this); var newwin = window.open('<c:url value="/buyers/select/addPQQSection.html?listId=${listId}&questionIndex=0&pageId=${pageId}§ionId=-1&mode=${PQQ_ADD_SECTION }"/>', 'additional', 'width=400,height=280,toolbar=no,,menubar=no,scrollbars=yes,resizeable=no'); newwin.focus(); return null;">
编辑(根据评论):
使用this.onclick = null
有效,但我需要刷新页面以启用点击我的链接。我需要在打开窗口时禁用单击,并在窗口关闭后启用它。
答案 0 :(得分:1)
您有几个选择。最简单的可能只是隐藏脚本末尾的按钮。
以下是您的按钮的外观:
<input type="button" value="Click Once" onclick="runAction(this, '<c:url .... />');" />
然后你可以拥有你的javascript函数(或者如果你想要的话,所有这些都可以内联):
<script type="text/javascript">
function runAction(element, url) {
writeBookmark(this);
var newwin = window.open(url, 'additional',
'width=400,height=280,toolbar=no,,menubar=no,scrollbars=yes,resizeable=no');
newwin.focus();
element.style.display = 'none';
}
</script>
你也可以禁用按钮:
element.disabled = 'disabled';
JQuery使删除按钮的行为更加优雅:
$(element).hide(500);
答案 1 :(得分:0)
<a href='runMyFunction()'>link</a>
然后在你的Javascript中:
var check = true;
function runMyFunction(){
if (check) {
//do something
console.log('run me once');
check = false;
}
}
查看我的JSFiddle:http://jsfiddle.net/D28Lc/
答案 2 :(得分:0)
您可以添加this.onclick = null
添加函数调用的结尾:
<a onclick="javascript:writeBookmark(this); var newwin .... this.onclick = null;">click</a>