我知道这是一个过时的问题,但如果他们的要求是使用不启用移动设备的 TinyMCE 4,我会将其留给任何需要它的人。
iOS Safari 在点击事件绑定在不可点击元素上时表现不佳。 MDN Web Docs 给出了很好的解释。
TinyMCE 使用 div 元素触发点击事件(通过查看源代码)。
所以你需要自己为按钮元素添加一个 touchend 事件处理程序。
您还需要挂钩到编辑器上的dialog OpenWindow and CloseWindow events,以便您可以添加 touchend 事件并进行清理。
tinyMCE.init({
selector: selector,
plugins: "paste,link,image",
toolbar: "undo redo | bold italic underline | link image",
file_picker_types: 'image',
images_upload_handler: image_upload_handler,
automatic_uploads: true,
setup : function(editor){
editor.on('OpenWindow', function(e){
$('.mce-browsebutton button').on('touchend', function(event) {
$(this).click();
});
});
editor.on('CloseWindow', function(e){
$('.mce-browsebutton button').off('touchend');
});
}
});
否则您可以使用移动模式(请注意,这是针对 TinyMCE 4(v5 设置不同,请参阅他们的docs)
tinyMCE.init({
selector: selector,
mobile: {
theme: 'mobile'
},
plugins: "paste,link,image",
toolbar: "undo redo | bold italic underline | link image",
file_picker_types: 'image',
images_upload_handler: image_upload_handler,
automatic_uploads: true
});