Javascript Chrome忽略jquery单击函数
我有下面的html/代码在IE中运行良好,但当我在Chrome中单击链接时,什么也没有发生。 HTML格式如下:Javascript Chrome忽略jquery单击函数,javascript,jquery,html,google-chrome,Javascript,Jquery,Html,Google Chrome,我有下面的html/代码在IE中运行良好,但当我在Chrome中单击链接时,什么也没有发生。 HTML格式如下: <h1 id="pagetitle">Daina - kora dziesmu krājums</h1> <div class="frontpage"> <p id="arvilcinu"><a href="">Ar vilciņu Rīga braucu</a>&
<h1 id="pagetitle">Daina - kora dziesmu krājums</h1>
<div class="frontpage">
<p id="arvilcinu"><a href="">Ar vilciņu Rīga braucu</a></p>
</div>
<!--***************** Ar Vilcinu *******************-->
<div id="arvilcinudisplay" class="singlesong">
<p><a href="Ar vilcinu riga braucu.pdf">Click here to download PDF file for printing</a></p>
<p><a href="http://www.youtube.com/watch?v=XuRxjjEaJVQ" target="_blank">Click here to watch the video - sung by Daina</a></p>
<p id="back"><a href=""><img src="backbutton.jpg" alt="Back to Main menu" height="40" width="100"></a></p>
</div>
$("#arvilcinu").click(function(){
$(".frontpage").fadeOut(1000,function(){
document.getElementById("pagetitle").innerHTML = "Ar vilciņu Rīga braucu";
$("#arvilcinudisplay").css("display","block");
});
});
其思想是,当用户单击链接(id=arvilcinu)时,链接会淡出,然后显示相关信息。点击Chrome中的链接只会使屏幕闪烁一秒钟,但屏幕上没有任何变化
谢谢您需要使用
preventDefault()
删除链接的自然行为并触发您编写的单击事件,如下所示:
您还可以仅用jQuery编写代码(无javascript)--
这是因为当你点击链接时会发生两个事件。一个是事件上的锚定标记
函数
如果调用此方法,则不会触发事件的默认操作
您的代码应该如下所示:
$("#arvilcinu").click(function(e){
e.preventDefault();
// rest of you logic on click event
});
感谢堆-工作的待遇!那么,为什么这在IE中起作用,而在Chrome中不起作用呢?有没有什么方法可以在默认情况下设置它,这样我就不必为我的所有链接调用preventDefault?我不知道为什么它在IE中工作。但我只是在JSFIDLE中尝试了你的代码,并解决了这个问题。欲了解更多信息,请参阅我将在了解原因后立即更新:)这可能有助于您感谢您的友好回复。这可能是因为我的href是空白的,所以我只是在“模拟”一个链接。Ie的工作版本是IE8 btw。。。
$("#arvilcinu").click(function(e){
e.preventDefault();
// rest of you logic on click event
});