我的1.html页面jquery代码如下$('#mainpage').load('2.html',function(){}); 其中2.html里面有一个链接<a href="3.html">链接到3</a>现在可以载入页面,但是点击“链接到3”这个链接之后全部页面跳转到3.html了。有什么办法可以使其事件触发后仍然包含在1.html页面中?大家是否明白我意思??

解决方案 »

  1.   

    不可能我所有链接都用window.open吧。我只想保留我的<a></a>
      

  2.   

    $('#mainpage').load('2.html',function(){
        $('#mainpage a').click(function () {
            window.open(this.href);
            return false;
        });
    }); 
      

  3.   

    楼上的。不行。我加上去了。打开还是新的页面。没有包含在1.html页面中
      

  4.   

    刚才没明白你的意思,那略做修改就行了:$('#mainpage').load('2.html',function(){
        $('#mainpage a').click(function () {
            $('#mainpage').load(this.href);
            return false;
        });
    }); 
      

  5.   

    这样是可以了。但是如果我2.html里有两个链接分别是
    <a href="2.html?a=1">链接1</a> <a href="2.html?a=2">链接2</a>第一次点两个链接的某个都可以。。但是点第2次就有问题了不信你们试试
      

  6.   

    嵌套?试试下面的代码:
    var fn = function () {
        $('#mainpage a').click(function () {
            $('#mainpage').load(this.href, fn);
            return false;
        });
    }
    $('#mainpage').load('2.html',fn); 
      

  7.   

    非常感谢xmliy
    我还有一个问题,如果页面里有submit 呢。这个这么改??<form name="f1" action="2.html">
    <input type="submit"  id=btn value=" 搜 索 " />
    </form>这个问题解决了我会另送20分。
      

  8.   

    这需要将form提交转为ajax提交,试试:$('#mainpage input[type=submit]').click(function () {
        var form = $('#mainpage form');
        $.ajax({
            url: form[0].action,
            data: form.serializ(),
            success: function () { 处理返回结果; }
        });
        return false;
    });