ipe*_*pel 3 javascript jquery tinymce document-ready
我有一个选择 onchange 触发 js 函数来显示/隐藏tinymce编辑器:
<select id="mySelect" onChange="myFuntion()">
<option value="1">Yes</option>
<option value="0">No</option>
Run Code Online (Sandbox Code Playgroud)
然后我有一个带有tinymce的文本区域(在页面加载时加载)。
<textarea class="mce" id="myTextarea"></textarea>
<script src="tinymce.js></script> // file with global tinymce.init({ ... });
Run Code Online (Sandbox Code Playgroud)
js函数如下:
<script>
function myFuntion(){
if( $( '#mySelect' ).val() == '1' ) { tinymce.get( 'myTextarea' ).show(); }
else { tinymce.get( 'myTextarea' ).hide(); }
}
$( document ).ready(function() { myFuntion(); }); // show/hide tinymce based on how the mySelect setting is on page load
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了“ $( document ).ready(function(){ myFuntion(); }); ”抛出错误“ Uncaught TypeError: Cannot read property 'show' of null ”,我认为这是因为tinymce是尚未加载。
有一种方法可以用“当tinymce加载时>执行myFunction()”来更改“文档就绪函数”
PS:我使用tinymce 4,tinymce.init()位于外部文件上并在其他页面上使用,所以我不想编辑此文件
编辑: 我的实际解决方法是使用: setTimeout( function(){ myFunction(); }, 1500 ); 但如果有回调或类似的,例如 $(document).on('tinymce:init') 会很棒
在tinymce 4中尝试使用Promise
tinymce.init({
//some settings
}).then(function(editors) {
//what to do after editors init
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9122 次 |
| 最近记录: |