您的位置:首页 > Web前端 > JavaScript

js颜色选择器

2016-03-01 15:22 585 查看
http://jscolor.com/
http://jscolor.com/examples/
今天使用了js里的颜色选择器,后来发现在ruby代码里有个问题,在编辑页面需要重新刷新一次才能加载这个控件。

Turbolinks 中的事件列表:
https://github.com/turbolinks/turbolinks-classic/tree/v2.5.3#events

JSColor 不能生效的原因:

With Turbolinks pages will change without a full reload, so you can't rely on 
DOMContentLoaded
 or 
jQuery.ready()
 to trigger your code. Instead Turbolinks fires events on 
document
 to provide hooks into the lifecycle of
the page.

解决办法,就是将 JSColor 中初始化逻辑绑定到 Turbolinks 的 'page:change' 时间上,而不是原生 window 的 'load' 事件

app/assets/javascripts/jscolor.js
register : function () {
// jsc.attachDOMReadyEvent(jsc.init);
jsc.attachEvent(document, 'page:change', jsc.init);
jsc.attachEvent(document, 'mousedown', jsc.onDocumentMouseDown);
jsc.attachEvent(document, 'touchstart', jsc.onDocumentTouchStart);
jsc.attachEvent(window, 'resize', jsc.onWindowResize);
},
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: