Javascript 单击需要2次单击以运行其他库';s函数

Javascript 单击需要2次单击以运行其他库';s函数,javascript,html,jquery,Javascript,Html,Jquery,单击HTML元素时,需要再次单击以运行filemanager功能 $(document).ready(function () { $(document).on("click",".lfm-image",function() { $(this).filemanager('image'); }); }); 内部代码“$(document).on..”已经是事件委派,请将其从$(document).ready中删除。单击事件将在$

单击HTML元素时,需要再次单击以运行
filemanager
功能

$(document).ready(function () {
    $(document).on("click",".lfm-image",function() {
       $(this).filemanager('image');
    });
});

内部代码“$(document).on..”已经是事件委派,请将其从$(document).ready中删除。单击事件将在$(document).ready…

内部代码“$(document).on..”之外工作。如果事件委派已存在,请将其从$(document).ready中删除。click事件将在$(document)之外工作。就绪…

我可以想象,因为
filemanager()
插件本身创建事件,所以您很可能需要在加载时实例化它,而不是在click处理程序中。@Rorymcrossan元素是动态创建并添加到DOM中的,我该怎么做呢?在这种情况下,您需要在创建新元素时手动实例化
filemanager()
插件。在这种情况下,委托事件处理程序将不起作用——假设插件在内部没有使用。如果您遇到这个问题,我认为不是。我可以想象,因为
filemanager()
插件本身会创建事件,所以您很可能需要在加载时而不是在单击处理程序中实例化它。@RoryMcCrossan元素是动态创建并添加到DOM中的,我该怎么做呢?在这种情况下,您需要在创建新元素时手动实例化
filemanager()
插件。在这种情况下,委托事件处理程序将不起作用——假设插件在内部没有使用。考虑到您有这个问题,我认为不是。请注意,我们还使用doc.ready来表示“在加载所有其他内容时运行此代码”,这有减少明显页面加载的优点-在单个事件委派的情况下,这不会有太大的区别,但如果代码从doc.ready中取出,可能会增加大量的准备时间,因为它不必在那里(取决于代码所在的位置等)。请注意,我们也使用doc.ready来表示“在加载所有其他内容后运行此代码”这样做的好处是减少了明显的页面负载—在单个事件委派的情况下,这不会有太大的区别—但如果代码从doc.ready中取出,可能会增加大量的准备时间,因为它不必存在(取决于代码所在的位置等)