求教jquery问题:同一段代码在$(function()直接加载有效,写在click事件中无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教jquery问题:同一段代码在$(function()直接加载有效,写在click事件中无效相关的知识,希望对你有一定的参考价值。
jquery:同一段代码在$(function()直接加载有效,写在click事件中无效
1、在$(function())中直接加载有效
$(function()
$.ajaxSetup(async: false);
$.post("test.php", id: 1, function(data)
if (data.length>0)
$("#show_detail").html('<a href="images/test1.jpg" id="zoom1" title="test"><img src="images/test1.jpg" alt="test"></a>');
$("#zoom1").attr("class","MagicZoom MagicThumb");
$.getScript("js/mzp-packed.js", function() );
)
)
2、写在按钮click事件中无效
$(function()
$("#mybtn").click(function()
$.ajaxSetup(async: false);
$.post("test.php", id: 1, function(data)
if (data.length>0)
$("#show_detail").html('<a href="images/test1.jpg" id="zoom1" title="test"><img src="images/test1.jpg" alt="test"></a>');
$("#zoom1").attr("class","MagicZoom MagicThumb");
$.getScript("js/mzp-packed.js", function() );
)
)
)
可能我描述得不够准确,click事件中的代码是有执行的,但是加载之后用不了mzp-packed.js中的图片放大镜效果,而在$(function()直接加载的话就有图片放大镜效果。
我试过$.getScript("js/mzp-packed.js", function() alert("ok"));两种方式都可以弹出ok框,应该是有加载的
想保证执行顺序,就用queue,用async: false,那还叫ajax么 参考技术B 不好用的现象是什么,你这个问题问的啊。
比如有没有报js错误啊什么的。
jQuery使用总结
1、jQuery中同等与js中window.onload的应用
在javascript中用来执行页面加载中的操作时候,我们会使用
window.onload=function(){}
或者window.onload=函数名;
也可以在body中调用onload事件调用方法即可。这个在一个页面写多个只能执行最后一个
在jQuery中也有相当的代码,代码如下:
$(function(){})
jQuery(function(){})
jQuery(document).ready(function(){})
(document)意思是说,获取整个网页文档对象(类似的于window.document),
$(document).ready意思就是说,获取文档对象就绪的时候。
以上三个代码执行同一个动作,但是当与其他js程序库一起使用的时候,特别是prototype.js同时使用时,不能使用$方法,因为他们也有该方法,
可以用如下方法回避这种冲突:
jQuery(function($){})
他们都是当Dom加载完后执行的操作,所以放在html的任何位置都可以。
以上是关于求教jquery问题:同一段代码在$(function()直接加载有效,写在click事件中无效的主要内容,如果未能解决你的问题,请参考以下文章