求教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() );

)
)

)

给你的btn指定个class,比如class="bt1",第二行代码写成 $(".bt1").click(function()试试。接触不就,不好使,请不要介意。追问

可能我描述得不够准确,click事件中的代码是有执行的,但是加载之后用不了mzp-packed.js中的图片放大镜效果,而在$(function()直接加载的话就有图片放大镜效果。
我试过$.getScript("js/mzp-packed.js", function() alert("ok"));两种方式都可以弹出ok框,应该是有加载的

参考技术A $.ajaxSetup 是全局设置,放在局部函数里干嘛
想保证执行顺序,就用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事件中无效的主要内容,如果未能解决你的问题,请参考以下文章

求教在php里执行jQuery代码

求教jquery大神,关于手机端的导航手指左右滑动

求教各路大神 手机端和PC端两个站点,怎么用同一个域名访问

如何用jquery实现实时监控浏览器宽度

jquery 分页无刷新的简单代码求教,<div class="holder"></div>

按键精灵多选框被打勾执行另一段代码,求教