1. 程式人生 > >layer.open後laydate失效

layer.open後laydate失效

如果你的open方式是1(html)的話這樣是可以的,

如果是2(iframe)方式開啟,你把注入的程式碼寫在開啟的介面就可以了不用這樣寫,open的引數type是有區別的,所以請注意:

今天在開發專案時候使用到了laydate,按照官方文件說明使用發現出現下面的問題:

1.在正常頁面中使用laydate元件沒有問題,點選可以正常顯示出來

2.但是在layer.open開啟一個窗體後就沒有效果了

分析思路:由於頁面的載入如果js在頁面元素顯示之前就執行,那麼就會出現無法渲染元件的問題,所有決定等元素渲染後再執行js,

於是先看官方對layer的文件官方layer彈出窗文件,發現success引數說明:當你需要在層建立完畢時執行一些語句,可以通過該回調。

所有把對laydate的渲染放在這裡即可,下面是success中的程式碼:

success: function(layero, index) {//成功後注入事件,不然js在頁面完成完成之前就執行,點選沒有效果
	laydate.render({
		elem: '#publishTime', //指定元素
		type: 'datetime', //日期格式型別
	});
}

最後記得使用到什麼元件需要引入才可以。