这是我正在做的一个项目,我的客户网站的一个小广告弹出,它将告诉用户他们即将到来的夏令营。我只想广告显示在加载,然后用户可以选择关闭广告或点击链接到注册页面。
我试图让这段代码工作,但我的问题是,当我点击其中一个关闭按钮的广告关闭,然后页面重新加载,广告回到原来的位置。我试图找出适当的放置我的“防止默认”代码的位置,但是它要么在广告第一次出现之前就起作用了,要么在这里显示的情况下。不用谢。
我意识到我同时使用的是jQuery和JS,但我对此非常陌生,我正在根据自己的发现拼凑代码。
<script type="text/javascript">
$(".close").click(function(){
$("#summercampad").addClass("hidden");
onload.preventDefault();
});
window.onload = function () {
document.getElementById("summercampad").className =
document.getElementById("summercampad").className.replace
( /(?:^|\s)hidden(?!\S)/g , '' )
};
</script>
<div id="summercampad" class="hidden" >
<div id="popupcontainer">
<div id="closepopup">
<a href="#" class="close"><img src="https://cdn6.bigcommerce.com/s-p98jqjm/product_images/uploaded_images/closebtn.png?t=1429039040" alt="close"/> </a>
</div>
<div id="pic">
<img src="https://cdn6.bigcommerce.com/s-p98jqjm/product_images/uploaded_images/popuppic.jpg?t=1429038436" alt="basketball"/>
</div>
<div id="popuptext">
2015 SUMMER CAMPS<br>
BOYS & GIRLS • ANY SKILL LEVEL<br>
<span>SPACE LIMITED - SIGN UP NOW!</span>
</div>
<div id="registerbtn" >
<a href="/camp-registration/">
<img src="https://cdn6.bigcommerce.com/s-p98jqjm/product_images/uploaded_images/registerbtn.png?t=1429039883"/>
</a>
</div>
<div id="nobtn">
<a href="#" class="close">
<img src="https://cdn6.bigcommerce.com/s-p98jqjm/product_images/uploaded_images/nothanksbtn.png?t=1429039884"/>
</a>
</div>
</div>
发布于 2015-04-14 20:31:22
只需在末尾添加:返回false。它将阻止执行您想要的操作。
<script type="text/javascript">
$(".close").click(function(){
$("#summercampad").addClass("hidden");
return false;
});
...在另一篇文章中描述了一切:从jQuery单击事件返回false
也是
首先需要声明HTML,然后才需要声明jQuery。和现在一样,$(".close")返回null,因为浏览器没有解析HTML。
对您来说最好的解决方案是使用$(文档).ready()
您的代码应该是:
<script type="text/javascript">
$(document).ready(function () {
$(".close").click(function(){
$("#summercampad").addClass("hidden");
return false;
});
});
...这样,首先加载HTML,然后jQuery绑定现有标记上的单击事件;)。
发布于 2015-04-14 20:32:14
<script type="text/javascript">
$(".close").click(function(e){
e.preventDefault();
$("#summercampad").addClass("hidden");
return false;
});
</script>发布于 2015-04-14 20:35:28
看来您缺少了绑定函数中的参数。试着改变这个:
$(".close").click(function(){
$("#summercampad").addClass("hidden");
onload.preventDefault();
});对此:
$(".close").click(function(event){
$("#summercampad").addClass("hidden");
event.preventDefault();
});(资料来源:preventdefault.asp)
https://stackoverflow.com/questions/29636817
复制相似问题