一个简单的关于jquery的ajax问题,熟悉jquery的帮忙看看

Pig23 2008-04-02 03:19:41
首页用jquery的ajax函数get一个页:
        $(document).ready
(
function()
{
$("#btn").click
(
function()
{
ajax(.....)
}
);
}

这段代码是写在$(document).ready里面的

现在想问的是取过来的页的javascript是不是就不用写$(document).ready了?因为写和不写都不影响功能,但我想知道写和不写哪个更合理?

谢谢
...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pig23 2008-04-03
  • 打赏
  • 举报
回复
我的意思是:a页用ajax的get方法取b页,并加载到a页的某个div中

问题:
1.只在a页的js里注册$(document).ready()事件
2.a页b页都注册$(document).ready()事件

这两种方法哪个比较合理

8#的这句貌似关键啊

可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。

刚开始学jquery,不懂的挺多,多谢多谢
xuyiazl 2008-04-03
  • 打赏
  • 举报
回复
ready(fn)
当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。

简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。

有一个参数--对jQuery函数的引用--会传递到这个ready事件处理函数中。可以给这个参数任意起一个名字,并因此可以不再担心命名冲突而放心地使用$别名。

请确保在 <body> 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。

可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。


xuyiazl 2008-04-03
  • 打赏
  • 举报
回复

$(document).ready(function(){
//ready方法是相当于window.load,但是效率要比window.load高很多
//你的代码的意思是 id为btn的input button控件添加onclick事件
//而你的问题是说加不加ready方法和不加ready的合理性?
//在jquery中,给控件添加事件要在ready中加载.反之把ready去掉,则无法正常添加事件.
$("#btn").click(function(){
ajax(.....)
});
});

//但是给对象添加事件还有另外的方法.那就是append创建对象后再给对象添加事件.
//如下代码:
//在层cartProducts中添加HTML对象,
$('#cartProducts')
.append('<div class="productCart" id="' + productId + '_cart">' + productName + '<a href="#">删除</a><br />数量: <span class="quantity">1</span><br />¥:<span class="price">' + productPrice + '</span></div>')
.find('div.productCart:last')//从所有的段落开始,进一步搜索下面的productCart元素
.fadeIn(400)//效果
.find('a')//从productCart段落开始,进一步搜索下面的a元素
.bind('click',function(){//这里找到了a元素后再给其绑定onclick事件
//这里便是事件的具体操作 }
);
return false;
}
);
xiaojing7 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tantaiyizu 的回复:]
引用 1 楼 xiahouwen 的回复:
什么叫 "取过来的页" ??

[/Quote]
xuyiazl 2008-04-03
  • 打赏
  • 举报
回复

$(document).ready(function(){
//ready方法是相当于window.load,但是效率要比window.load高很多
//你的代码的意思是 id为btn的input button控件添加onclick事件
//而你的问题是说加不加ready方法和不加ready的合理性?
//在jquery中,给控件添加事件要在ready中加载.反之把ready去掉,则无法正常添加事件.
$("#btn").click(function(){
ajax(.....)
});
});

//但是给对象添加事件还有另外的方法.那就是append创建对象后再给对象添加事件.
//如下代码:
//在层cartProducts中添加HTML对象,
$('#cartProducts')
.append('<div class="productCart" id="' + productId + '_cart">' + productName + '<a href="#">删除</a><br />数量: <span class="quantity">1</span><br />¥:<span class="price">' + productPrice + '</span></div>')
.find('div.productCart:last')//从所有的段落开始,进一步搜索下面的productCart元素
.fadeIn(400)//效果
.find('a')//从productCart段落开始,进一步搜索下面的a元素
.bind('click',function(){//这里找到了a元素后再给其绑定onclick事件
//这里便是事件的具体操作 }
);
return false;
}
);
tantaiyizu 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiahouwen 的回复:]
什么叫 "取过来的页" ??
[/Quote]
zjysky 2008-04-03
  • 打赏
  • 举报
回复
你说的不明不白啊
$(document).ready这个方法很简单就是页面初始化加载的时候的一个事件啊
ppsetserver 2008-04-02
  • 打赏
  • 举报
回复
刚刚在研究.关注
活靶子哥哥 2008-04-02
  • 打赏
  • 举报
回复
什么叫 "取过来的页" ??

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧