嗨可以有人请帮助,即时通讯试图找到一种方法,每次用户会话被点击一次后,禁用链接,我可以这样做在jQuery中?使用jquery点击一次后禁用链接?
我是javasript和jquery的全新新人,所以有人请告诉我什么id需要做的感谢。
嗨可以有人请帮助,即时通讯试图找到一种方法,每次用户会话被点击一次后,禁用链接,我可以这样做在jQuery中?使用jquery点击一次后禁用链接?
我是javasript和jquery的全新新人,所以有人请告诉我什么id需要做的感谢。
绑定event.preventDefault()以防止链接后的默认浏览器事件。只在随后的点击上进行操作(这样在第一次点击时它就会允许它 - 这就是你想要的)。
$(".oncelink").one('click',function(e){
$(this).on('click',function(ev){
ev.preventDefault();
});
});
你必须把在服务器端的一些检查,以及为这种逻辑的工作。但在客户端使用jQuery,你可以做类似
$('a').on('click', function()
{
var me = $(this);
//You can also set some attribute value if you do not want to use class
if(me.hasClass('disabled'))
{
return false;
}
else
{
me.addClass('disabled');
}
});
在HTTP连接之间持久状态的一种方法是使用cookie。你应该真的使用服务器端语言来设置/获取cookie,因为客户端cookie设置/获取可能会变得混乱,更不用说不安全且易于利用。另外,如果用户在浏览器中关闭了JS,这甚至不起作用,使得你的努力毫无价值。然而,这将是这个样子:
// on dom ready
var onceButton = document.getElementById('once');
function disableButton() {
onceButton.disabled = 'disabled';
document.cookie="disable_button=1";
// prevent listening on future clicks
onceButton.removeEventListener('click', disableButton, false);
}
if (document.cookie.indexOf('disable_button=1;') === -1) {
// if no cookie set, wait until click happens to disable button
onceButton.addEventListener('click', disableButton, false);
} else {
// cookie set, disable immediately
disableButton();
}
事件处理程序和饼干。这应该引导你走向前进的道路。 – Joseph 2013-02-10 02:49:19
可能重复[“禁用”一个链接暂时点击?](http://stackoverflow.com/questions/5380722/disable-a-link-temporarily-when-clicked) – 2013-02-10 02:49:24
我不想暂时禁用链接。我想保持它禁用。 – 2013-02-10 02:51:19