2017-08-08 168 views
1

编辑:我已修复它。我在购买jQuery时犯了一个错误。一旦我改变src属性为 https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js,它的工作。多谢你们! 我想阻止链接将用户带到另一个页面。 当我尝试使用getElementById(“id”)选择元素时,它工作正常。当我尝试使用$(“#id”)进行选择时,它不起作用。为了澄清,这个工作: https://jsfiddle.net/1nwaptL9/无法使用jQuery选择元素

但这不起作用:https://jsfiddle.net/7vkepm9e/1/

我意识到这两个小提琴做实际工作,但是当我加载在Chrome中,一个与jQuery选择器的HTML文件不起作用。由于我在下面包含的源代码在JSFiddle中工作正常,但在Chrome中没有,我怀疑我做错了什么,但JSFiddle不处理链接或类似的东西。任何帮助,将不胜感激!

的源代码不工作:

<html> 
<body> 
<a id="preventlink" href="http://youtube.com"> click here </a> 
<script src="js/jquery-1.11.3.min.js"> </script> 
</body> 
</html> 

<script> 
var link=$("#preventlink"); 
link.addEventListener("click", function(e) { 
    e.preventDefault()}, false) 

    </script> 
+1

你没有正确地在您的提琴的jQuery。即使你做了,你也没有正确使用jQuery。 https://jsfiddle.net/j08691/7vkepm9e/2/ – j08691

回答

5

jQuery的创建一个jQuery的例子,如果你想实际的DOM元素,你可以做到以下几点:

var link = $("#preventlink")[0]; 

或者,只是不停使用jQuery添加事件:

$("#preventlink") 
    .click(function (e) { 
     e.preventDefault(); 
    }); 

从jQuery实例获取元素:

var link = $("#preventlink")[0]; 
 
link.addEventListener("click", function(e) { 
 
    e.preventDefault() 
 
}, false);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="preventlink" href="http://youtube.com"> click here </a>

只用jQuery的坚持:

$("#preventlink").click(function(e) { 
 
    e.preventDefault() 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="preventlink" href="http://youtube.com"> click here </a>

jQuery's doc关于这个问题

+0

'.click('click''?? – j08691

+1

@ j08691,谢谢!我从OP – KevBot

+0

获得复制粘贴代码感谢您的帮助,但是1。你写的东西没有用,2.我不知道发生了什么事,但是现在我没法在没有jQuery的情况下使用它。 –

2

你混合Ĵ查询香草JS:

$("#id") - jQuery的

document.getElementById("id") - 香草JS

尝试使用它们中的任何一个。

的jQuery:

$("#preventlink").on("click", function(e) { 
    e.preventDefault() 
}) 

香草JS:

var link=document.getElementById("preventlink"); 
    link.addEventListener("click", function(e) { 
    e.preventDefault()}, false) 
1

试试这个:

$("#preventlink").on('click', function (e) 
{ 
    e.preventDefault(); 
}); 
1

这里是做你正在寻找一个更jQuery的方式

var $link = $("#preventlink"); 
 

 
$link.on("click", function(e) { 
 
    e.preventDefault(); 
 
    alert("link clicked"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<html> 
 
\t <body> 
 
\t \t <a id="preventlink" href="http://youtube.com"> click here </a> 
 
\t \t <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script> 
 
\t </body> 
 
</html>

3

这是因为的addEventListener是一个JavaScript函数。它没有为jquery定义。对于jQuery你可以使用绑定功能。下面是示例代码

$(document).ready(function() { 
 
var link=$("#preventlink"); 
 
link.bind('click', function(e){ 
 
    
 
    e.preventDefault();}) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<html> 
 
<body> 
 
<a id="preventlink" href="http://youtube.com"> click here </a> 
 

 
</body> 
 
</html>