aşağıdaki yöntemi: Bu yöntem MVC üzerinde bir ajax kısmi yük denirsetTimeout (f, 0) karşılığı? çapraz tarayıcı sorunlarını neden çözüyor?
Init: function (selector, settings)
{
setTimeout(function()
{
var s =
{
width: '100%',
script_url: '/Content/Scripts/tiny_mce/tiny_mce.js',
theme: "advanced",
plugins: "autolink,lists,pagebreak,style,layer,table,paste,directionality,noneditable,visualchars,xhtmlxtras,template",
theme_advanced_buttons1: "fontselect,fontsizeselect,|,bold,italic,underline,forecolor,backcolor,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
theme_advanced_buttons4: "",
theme_advanced_more_colors: false,
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location: "none",
theme_advanced_resizing: false,
convert_urls: !!$(selector).data("richEditor-ConvertUrls") // by default we don't convert urls
};
$.extend(s, settings);
$(selector).tinymce(s);
},0);
}
tüm tarayıcılarda çalışır, nedense , ben bu çağrı olmadan, editör kilitleniyor firefox için setTimeout(f,0)
çağrı ihtiyaç firefox ve sayfa sonları (çoğu kez özel durumlara tıklamak istisnalar üzerine tıklanır). çağrı ile her şey mükemmel çalışır.
Bu setTimeout çağrısından nasıl kaçınabileceğimi merak ettim (diğer bazı çözümlerden) ve eğer bu bir seçenek değilse, nedenini bilmek isterim.
Korkarım ki bu durum için en temiz çözüm olmayabilir.
ajax geri arama sayfanızı içerikle güncelliyor mu? DOM güncellendi önce bu ateş olabilir. Eğer durum buysa, jQuerys hazır olayını kullanarak DOM'ın '$ (selector) 'a tinymce uygulanmadan önce bitmesini bekleyebilirsiniz. – JesseBuesking
, DOM'ı günceller, ancak bu aynı zamanda '$ (f() {}) içinde çalışır;' – bevacqua
Init yönteminin dışında, zaman aşımının içinde 's' olduğunu bildirmek için bir neden var mı? buraya gönderme). Ayrıca bu sorunu jsfiddle'da yeniden oluşturabilmenin bir yolu var mı? Bu benim denemem ve yardım etmemi kolaylaştırır. – JesseBuesking