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();
,很遗憾,问题无法解决。您可以在