我需要帮助这个JQuery代码我有...我还是一个新手,当谈到JQuery但我有很多代码在这里测试...你知道只是因为你需要一个所以这里的代码..
<script type="text/javascript">
//onload popup
$(function()
{
$(window).bind('load',
function(e)
{
$.colorbox({opacity:0.3, href:"ext/popup.php"});
});
});
</script>
现在这次我不想加载页面然后让表单弹出...我想点击链接的东西..有什么建议吗?
答案 0 :(得分:3)
$(function()
{
$('#linkid').click(function(e)
{
e.preventDefault();
$.colorbox({opacity:0.3, href: this.href});
});
});
并创建一个像这样的链接
<a href="ext/popup.php" id="linkid">click me</a>
<强>更新强>
如果要将此逻辑应用于多个链接,则应使用类而不是id
<a href="ext/popup.php" class="colorbox">click me</a>
并且jquery使用
定位它们$('.colorbox').click(...)
<强>注释强>
对您的代码进行通用评论,您无需使用$(function(){..})
和$(window).bind('load'
第一部分绑定DOM准备好的事件。第二个关于DOM负载
由于load
将始终 后发生ready
事件,您可以直接执行
$(window).load(function(){...});
但是只有在运行代码之前需要完全加载子元素时才能使用加载(通常是图像)。 阅读:http://api.jquery.com/load-event/
答案 1 :(得分:1)
$('a#yourLinkId').click(function(e){
// prevents default behaviour
e.preventDefault();
// your stuff
$.colorbox({opacity:0.3, href:"ext/popup.php"});
});
答案 2 :(得分:1)
没问题。您可以在Stackoverflow中询问有关JQuery的任何问题,我们会尽力提供帮助。
关于你的问题。我想你想使用JQuery加载ColorBox内的页面,而不是在主窗口中加载URL的默认操作。
你需要做两件事:
<a>
),以便在单击它们时运行您的事件。您可以将事件绑定到所有锚标记,如下所示:
//for all links that exist on this page up to when this line is executed
$("a").click(function(){...});
但我建议使用on()
按钮绑定您的活动。这样,所有<a>
标记都将运行此事件处理程序,即使它们是在>>运行事件绑定代码之后创建的。
//for all links that are created on this page even after this lines of code is executed
$("a").on( "click", function(){...});
要阻止默认操作(浏览页面),只需使用preventDefault()方法:
//assuming event argument is called e
e.preventDefault();
话虽如此,您的代码将如下所示:
<script type="text/javascript">
//this will run when the current document is loaded
$(document).ready(function(){
$("a").on("click",function(e){
e.preventDefault();
//$(this).attr("href") contains the href attribute of the <a> tag
$.colorbox({opacity:0.3, href:$(this).attr("href")});
});
});
</script>