undeding e.preventDefault从另一个函数转发到链接点击

时间:2015-01-29 16:47:16

标签: javascript jquery

有没有办法让第一次点击工作?单击链接时,它似乎取消绑定事件,但直到第二次单击才转发到链接。有没有办法让它在第一次点击时转发到链接,解除点击功能中的e.preventDefault

jsfiddle:http://jsfiddle.net/542fnbbL/

jQuery的:

var clickTime = function(e){
    $('a').unbind('click').submit();
};
$('a').click(function(e){
    e.preventDefault();
    clickTime();
});

2 个答案:

答案 0 :(得分:2)

我不确定您需要它,但是没有使用submit重新触发点击,因此请将您的元素传递给unbind,然后立即点击链接。

var clickTime = function(element){
    $(element).unbind('click');
    window.location.href = $(element).attr("href");
};
$('a').click(function(e){
    e.preventDefault();
    clickTime(this);
});

这里有一个简单的HTML来测试它的有效性,而不需要它跟随实际的链接:

<a href="javascript:alert('here')">link </a>

但是你需要这个呢?在触发event.preventDefault()之前,你也可以做你想做的一切:

$('a').click(function(e){
    e.preventDefault();
    // Do Stuff Here
    window.location.href = $(this).attr("href");
});

什么是单独的功能?

答案 1 :(得分:0)

我第一次误解了你的回答。 这是:

代码:

$('a').one('click', function(e){
    e.preventDefault();
});