如果我对jscolor(http://jscolor.com/)使用这样的技巧:
<div id="test-div"></div>
在javascript中,下一件事起作用:
$(document).ready(function () {
$('#test-div').html('<input type="text" id="test_input" value="449944" class="form-control jscolor" />');
});
但另一个技巧不起作用:
$(document).ready(function () {
setTimeout(function() {
$('#test-div').html('<input type="text" id="test_input" value="449944" class="form-control jscolor" />');
}, 1000);
});
如何发挥作用。我想在ajax中使用生成的颜色列表。
谢谢!
最佳答案
动态创建元素后,必须调用jscolor.installByClassName("jscolor")
。jscolor.init()
的工作原理相同,但由于某些原因,它不适用于所有人。
检查工作片段。
$(document).ready(function () {
setTimeout(function() {
$('#test-div').html('<input type="text" id="test_input" value="449944" class="form-control jscolor" />');
jscolor.installByClassName("jscolor");
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>
<div id="test-div"></div>