jQuery .load(function)同步

JIb*_*568 3 javascript jquery asynchronous image

同步使用jQuery加载函数的最佳方法是什么?

我需要加载图像,但在加载图像之前无法执行下一行代码.

我可以循环一个变量,直到负载完成,但是想知道是否有更好的方法.

var img = jQuery('<img src="' + url + '"/>').load(function () {                 

            });  
  //Run code here once img load has comlpeted.                                              
Run Code Online (Sandbox Code Playgroud)

pla*_*alx 7

据我所知,除非图像已经缓存(在某些浏览器中),否则load事件将始终异步触发.唯一可靠的解决方案是将代码放入回调中.但是,要确保load在所有浏览器中始终触发处理程序,即使图像已缓存,请确保设置src图像属性之前添加处理程序.


小智 7

您还可以使用CallBack函数获取同步行为-

var result = $('#main-container').load( 'html/Welcomeform.html', 
                function () {
                     if($("textarea").find("#mail-id")){
                        $("textarea#mail-id").val(email_id);
                     }
                     } );   
Run Code Online (Sandbox Code Playgroud)