javascript中的jqueryajax
示例代码站点链接单击:javascript中的jqueryajax,jquery,ajax,deep-linking,Jquery,Ajax,Deep Linking,示例代码站点链接单击: jQuery(文档).ready(函数(){ $('a')。单击(函数(事件){event.preventDefault();}); $('a')。单击(函数(事件){ event.preventDefault(); $.ajax({ url:'index2.html', 成功:函数(数据){ $('#yourDiv').html(数据); } }); }); }); AJAX index2.html <script type="text/java
jQuery(文档).ready(函数(){
$('a')。单击(函数(事件){event.preventDefault();});
$('a')。单击(函数(事件){
event.preventDefault();
$.ajax({
url:'index2.html',
成功:函数(数据){
$('#yourDiv').html(数据);
}
});
});
});
AJAX index2.html
<script type="text/javascript">
$('a').click(function() {
alert('CLICK X 2')
});
</script>
$('a')。单击(函数(){
警报('单击X 2')
});
您应该将index2.html中的脚本
括在
标记中,以便jQuery知道它是一个脚本,在将其设置为html之前需要对其进行解析
<script type="text/javascript">
$.address.unbind('change').bind('change', function(e) { alert('problem') });
</script>
$.address.unbind('change').bind('change',函数(e){alert('problem')});
您应该将index2.html中的脚本
括在
标记中,以便jQuery知道它是一个脚本,在将其设置为html之前需要对其进行解析
<script type="text/javascript">
$.address.unbind('change').bind('change', function(e) { alert('problem') });
</script>
$.address.unbind('change').bind('change',函数(e){alert('problem')});
我认为他的问题是重复代码。您可以看到弹出窗口一直在增加。我需要重置转换函数。消除了这些问题。我认为他的问题是重复代码。您可以看到弹出窗口一直在增加。我需要重置转换函数。消除了此类问题。我假设您希望将链接中的页面数据转换为ajax,并将其转储到div中。如果您只想这样做,您可以使用$.load函数
$('#ajaxLinks a').click(function(event){
event.preventDefault();
var $link = $(this).attr('href');
$('#yourDiv').load($link);
});
或者,如果您想通过$.ajax函数执行此操作
$('#ajaxLinks a').click(function(event){
event.preventDefault();
var $link = $(this).attr('href');
$.ajax({
url: $link,
success: function(data){
$('#yourDiv').html(data);
}
});
});
如果您使用$.ajax()方法,还可以将成功和错误方法链接起来,如
$.ajax({url:'link.html'})
.success(function() { /* DO SOMETHING ON SUCCESS */ })
.error(function() { /* DO SOMETHING ON ERROR */ })
添加了事件函数->“preventDefault()”请参见上面的注释中的…我假设您希望将链接中的页面数据转换为ajax,并将其转储到div中。如果您只想这样做,可以使用$.load函数
$('#ajaxLinks a').click(function(event){
event.preventDefault();
var $link = $(this).attr('href');
$('#yourDiv').load($link);
});
或者,如果您想通过$.ajax函数执行此操作
$('#ajaxLinks a').click(function(event){
event.preventDefault();
var $link = $(this).attr('href');
$.ajax({
url: $link,
success: function(data){
$('#yourDiv').html(data);
}
});
});
如果您使用$.ajax()方法,还可以将成功和错误方法链接起来,如
$.ajax({url:'link.html'})
.success(function() { /* DO SOMETHING ON SUCCESS */ })
.error(function() { /* DO SOMETHING ON ERROR */ })
添加了事件函数->“preventDefault()”请参见上文和注释中的…此处。。。我已修改了您的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>STACKOVERFLOW - jQuery Click 5 then AJAX Load Something</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body>
<a href="index2.html">Click 5 times. Alert reload</a>
<div id="yourDiv" style="margin-top:50px;"></div>
<!-- JS SCRIPTS-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
i = 0; // Initialize Click Counter "i"
$('a').click(function(event) {
event.preventDefault(); // Prevent link from forwarding to page
// Checks if link was clicked 5 times
if(i == 5){
$.ajax({
url: 'index2.html',
success: function(data){
$('#yourDiv').html(data);
}
});
} else {
i++; // ELSE: Increment Click Counter "i"
}
});
});
</script>
<!-- [end] JS SCRIPTS (Before Body Tag Closure)-->
</body>
</html>
STACKOVERFLOW-jQuery单击5,然后AJAX加载一些内容
$(文档).ready(函数(){
i=0;//初始化单击计数器“i”
$('a')。单击(函数(事件){
event.preventDefault();//防止链接转发到页面
//检查链接是否被单击了5次
如果(i==5){
$.ajax({
url:'index2.html',
成功:函数(数据){
$('#yourDiv').html(数据);
}
});
}否则{
i++;//否则:递增单击计数器“i”
}
});
});
我还将此粘贴到Pastebin中,以便您可以抓取它:
这里。。。我已修改了您的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>STACKOVERFLOW - jQuery Click 5 then AJAX Load Something</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body>
<a href="index2.html">Click 5 times. Alert reload</a>
<div id="yourDiv" style="margin-top:50px;"></div>
<!-- JS SCRIPTS-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
i = 0; // Initialize Click Counter "i"
$('a').click(function(event) {
event.preventDefault(); // Prevent link from forwarding to page
// Checks if link was clicked 5 times
if(i == 5){
$.ajax({
url: 'index2.html',
success: function(data){
$('#yourDiv').html(data);
}
});
} else {
i++; // ELSE: Increment Click Counter "i"
}
});
});
</script>
<!-- [end] JS SCRIPTS (Before Body Tag Closure)-->
</body>
</html>
STACKOVERFLOW-jQuery单击5,然后AJAX加载一些内容
$(文档).ready(函数(){
i=0;//初始化单击计数器“i”
$('a')。单击(函数(事件){
event.preventDefault();//防止链接转发到页面
//检查链接是否被单击了5次
如果(i==5){
$.ajax({
url:'index2.html',
成功:函数(数据){
$('#yourDiv').html(数据);
}
});
}否则{
i++;//否则:递增单击计数器“i”
}
});
});
我还将此粘贴到Pastebin中,以便您可以抓取它:
已解决强>
jQuery.js版本1.3.6
// Evalulates a script in a global context
globalEval: function( data ) {
if ( data && /\S/.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
if ( jQuery.support.scriptEval )
script.appendChild( document.createTextNode( data ) );
else
script.text = data;
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
// This arises when a base node is used (#2709).
head.insertBefore( script, head.firstChild );
head.removeChild( script );
**$(head+"script:last").remove();**
}
},
解决了强>
jQuery.js版本1.3.6
// Evalulates a script in a global context
globalEval: function( data ) {
if ( data && /\S/.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
if ( jQuery.support.scriptEval )
script.appendChild( document.createTextNode( data ) );
else
script.text = data;
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
// This arises when a base node is used (#2709).
head.insertBefore( script, head.firstChild );
head.removeChild( script );
**$(head+"script:last").remove();**
}
},
我的问题是当index2.html有多个重复过程时。老兄,你的问题不清楚。你应该把你的问题弄清楚。对不起,-Index2.html。Ajax请求进入。-.$bind.address在事件中起作用。-重新运行index2.html。-$Bind.address重复2次-这将增加。-可能是头球,我们一直在努力。向上的问题。我很感谢你的帮助。我的问题是当index2.html多次重复程序时。老兄,你的问题不清楚。你应该把你的问题弄清楚。对不起,-Index2.html。Ajax请求进入。-.$bind.address在事件中起作用。-重新运行index2.html。-$Bind.address重复2次-这将增加。-可能是头球,我们一直在努力。向上的问题。我很感谢你的帮助。感谢您的帮助。您已将href=“javascript:;”更改为href=“index2.html”。另外,在单击函数中添加“防止默认事件”,以防止链接更改整个页面code$('a')。单击(函数(事件){event.preventDefault();
很遗憾,问题无法解决。您可以在uptade问题上进行测试。我感谢您的帮助。您已将href=“javascript:;”更改为href=“index2.html”。此外,在单击函数中添加“防止默认事件”,以防止链接更改整个页面…code$('a')。单击(函数(事件){event.preventDefault();
,很遗憾,问题无法解决。您可以在