检测链接上的新闻并调用事件?

时间:2010-01-07 12:16:26

标签: javascript redirect hyperlink href

如果用户按下链接(而不是点击),我需要调用一个事件(例如 - 显示警告) - 我不希望它将他重定向到另一个页面。换句话说 - 当用户点击链接时 - 一切都像往常一样,但当用户按下链接时,只发生事件(显示警报),用户将留在我的页面中。这可能吗?

通过说新闻,我的意思是用户按下链接至少一秒钟。

感谢。

4 个答案:

答案 0 :(得分:0)

定义

您可能希望使用mousedownkeypress事件,具体取决于您的意思。 (后一种情况可能涉及检查事件以确保它是使用的输入键)

答案 1 :(得分:0)

我理解的是你想要的:

用户按下了链接 - >触发一个动作,但不要重定向浏览器 用户单击链接(鼠标悬停在按下按钮的同一对象上) - >重定向到其他页面

以下代码可能会有所帮助

<html>
<head>

    <script type="text/javascript">
function mouse_pressed(){
    alert('pressed button');
}
function goToLink(url){
    window.location = url;
}
</script>
</head>
<body>

<label onclick="goToLink('http://www.google.com');" onmousedown="mouse_pressed();" >text</label>
<body>
</html>

答案 2 :(得分:0)

在您完善问题后,此代码可以满足您的需求:

<script>
var timeout;
function onMouseDown(){
    timeout = window.setTimeout("alert(1)",1000);
}
function onMouseUp(){
    window.clearTimeout(timeout);
}
</script>

<a href="#" onmousedown="onMouseDown();return false;" onmouseup="onMouseUp();return false;">click</a>

注意:

  • return false导致href无法执行,
  • 超时设置和清除确保按下不到一秒钟,不会触发事件

如果用户在链接上按下并按住鼠标超过1秒(1000毫秒),则会触发警报。

答案 3 :(得分:0)

在Jquery中,您可以通过简单的方式完成此任务。

$("a").live('click',function(){
event.preventDefault();
});