javascript - 使用 HeadJS 加载的脚本仅在第二次单击时运行

标签 javascript aviary

使用 HeadJS 加载的脚本仅在第二次单击时运行。如何在第一次点击时获得 Aviary 启动器?

http://jsfiddle.net/ynts/6hgEb/

function aviary(id, src) {
    var $id = id;
    var $src = src;

    head.load(
        "http://feather.aviary.com/js/feather.js",
        function() {

            var featherEditor = new Aviary.Feather({
                apiKey: 12345,
                apiVersion: 3

                // ... ///
            });

            featherEditor.launch({
                image: $id,


                  url: $src
                });
            }
        ); 
}

$(document).on('click', 'img', function(){
    var $img = $(this).attr('src');
    aviary('edit-pic', $img);
}); 

最佳答案

在调用launch函数之前,您需要等待插件初始化。您可以使用 onLoad 事件:

var featherEditor = new Aviary.Feather({
                apiKey: 12345,
                apiVersion: 3,
                onLoad: function() {
                     featherEditor.launch({
                        image: $id,
                        url: $src
                    });
                }                                    
            }); 

关于javascript - 使用 HeadJS 加载的脚本仅在第二次单击时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23222589/

相关文章:

javascript - onload是否等于XMLHttpRequest中的readyState==4?

ios - 如何为 iOS 的 Cordova 插件提供 Aviary Apikey 和 Secret

localhost - 鸟舍本地发展

android - Aviary SDK for Image Editing issue with setNavigationIcon of toolbar

java - 适用于 Android 的图像编辑 SDK?

javascript - setAttribute 不适用于 IE 上的 'style' 属性

javascript - Kendo UI DropDownList 选择第一项而不进行交互

javascript - 淡入淡出一系列图像,但一次只显示几张

Javascript 函数求值作为变量

java - Android,如何将Gradle库导入到eclipse中(ANT)