WEB开发网
开发学院网页设计JavaScript 新手遇到的一些jquery问题 阅读

新手遇到的一些jquery问题

 2010-08-16 20:14:13 来源:WEB开发网   
核心提示: 最近在做项目的时候使用了Jquery~新手学习jquery.~遇到了一些"奇怪"的问题(各位大神别拍砖).感谢ClassYuan老大的支持..ClassYuan的blog.http://www.classyuan.com/.下面列举一些:1.跟HTML元素加载事件的时候,会在加载的时候同时执行该事

最近在做项目的时候使用了Jquery~新手学习jquery.~遇到了一些"奇怪"的问题(各位大神别拍砖).

感谢ClassYuan老大的支持..ClassYuan的blog.http://www.classyuan.com/.下面列举一些:

1.跟HTML元素加载事件的时候,会在加载的时候同时执行该事件。

错误代码:

view source PRint?
1 $("#btnLoad").bind("click",GetProduct());

正确代码

view source print?
1 $("#btnLoad").bind("click", function() { GetProduct() });

我在这段代码,忽略了Bind这个方法.Api的解释是bind(type,[data],fn)

我错误的讲fn当做一个简单的function..导致这段代码会在加载的时候执行一次这个fn..

这是一个书写格式的疏忽.希望知道原因的大神可以指点。

2变量作用域的问题.(貌似这个不是jquery的问题.而是js跟.net的区别..)

view source print?
1 function text() {
2    for (var i = 0; i < 3; i++) {
3      $("<a>删除</a>").attr({ id: "hr_" + i, href: "javascript:;" }).addClass("btnCSS").bind("click", function() { tes(i) }).appendTo(".div_list");
4    }
5  }
6 function tes(id) {
7   alert(id);
8 }

这个函数.我想让他alert出相应的id..结果..答案很同意..3个<a>标签的函数..弹出来都是3..

看了一下..明白了

变量作用域的问题,传个tes函数的参数是循环结束后i的值,所以全部是3。

这一点似乎和.net不一样。

最后接解决方案- -..直接吧$(this)传递进去了

3.事件执行顺序的问题

view source print?
1 <a target="_blank" title="Iphone" >
2 <img id="proImg7_2" src="" alt="Iphone" style="width:70px; height:60px; border:none;" />
3 </a>

给这个图片绑定了onclick事件,事件的内容是给<img>标签的parent增加一个href属性.

但是事件执行完毕之后,将会直接跳转到a标签的链接。经过分析.

应为click是在href之前执行的,也就是当点击图片的时候A标签已经有了href,然后同时又触发了A标签.

解决方案..去掉<img>外层的a标签..然后修改事件

view source print?
1 idwrap('<a href="http://www.QQ.com"></a>');

以上是我这个新手第一次使用jquery所遇到的问题..留在这里.当做成长的历程..各位大神老鸟..别喷吖..

Tags:新手 遇到 一些

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接