jscolor使用心得(动态生成的页面中)

背景:最近的页面上面需要用到:点击输入框出现颜色编辑框在进行选择,点击后颜色值回填到输入框中的效果,本来这个通过jscolor组件可以很轻松的实现,但是万恶的产品中期改了个需求,编辑窗口改为在弹框中进行,而需求使我只能通过动态生成弹框页面进行,然后jscolor只加载一次的情况,在这个时候就凉了

jscolor:如果只是在当前页面中,在jscolor官网中有很多的demo,接入很是方便快捷,这里不多阐述,感兴趣的可以直接看官网;这里要说的是,动态生成的页面:因为jscolor只会在页面初始化时候加载一次,如下图源码:jscolor使用心得(动态生成的页面中)_第1张图片

这里代码中,没有定义执行的时机,所以,就是页面加载时顺序执行,此后不会再执行此文件代码,但是会有一个jscolor对象供调用,所以,这就为动态调用jscolor提供了条件了

首先是动态生成页面的效果:

jscolor使用心得(动态生成的页面中)_第2张图片

动态生成页面的代码,这里就不贴了,直接看使得jscolor生效的代码

function loadColor(){
        var input = $("input.jscolor");
        if(valIsNotEmpty(input)){
            for(var i=0;i

注意:如果动态页面是在ajax请求后进行拼接出来的,这个函数需要在ajax中调用(ajax异步调用),这样,动态的页面也可以出现颜色选择器了

一句话:因为jscolor.js只会执行一次,所以,动态的页面,如果不手动调用,是不会出现颜色选择器的

你可能感兴趣的:(前端)