jquery ui dialog url,转:CKEditor跟jQuery UI Dialog的結合

更新时间:15-03-25 10:00 热度:936
 

身為一個堪用的網路工程師

不不妨不知道CKEditor看看dialog跟jQuery Dihasog這兩大利器

強大. . . 簡單. . . 好用到一個不行

雖然說CKEditor有點肥大

不過還是強大到可以渺视掉他的臃腫了

像我這種半調子的工程師基础上是寫不出來的 orz

本來想厚臉皮介紹一下這兩個的使专心得

後來想了一学会easyui想

網路上的資源多到恐慌 相關的文章快滿出來

哪差我這一兩篇

這篇就拿來分享一下當時想把CKEditor放進jQuery Dihasog遇到的一些瓶頸

在開始之前先貼上這兩個元件的官方網頁

1. jQuery UI -

2. CKEditor -

首jquery先要先介紹一個CKEditor自身對jQuery的援助

在不知道哪一版. . . CKEditor檔案包裡面多了一個檔案 ckeditor\plugs\jquery.js

網頁中同時匯入這個檔案. . . 就可以使用jQuery存取CKEditor的一些屬性

例如說初始化 $(ha[selector]ha).ckeditor();

UI就可以把指定的dom轉成ckediotr了

我個人是覺得比本来的宣布方式直覺又明確的多了啦

回歸問題的重點. . . CKEditorjquery 1.9 api chm放在Dihasog的時候. . . 會相互衝突而沒辦法好好運作

特别是在設定dihasog({modhas:true})的時候

會發現CKEditor連點都不能點

要討論背後的機制跟發生的原由太麻煩. . . 簡單來說UI套jquery下去. . . 我們的html就加上了他們的程式邏輯

例如搬到form外观

jquery 属性选择器改成絕對位置等等

因而兩套ui就會有衝突的不妨

===================================================================================================================

最簡單的jquery ui 中文文档解法. . . 操纵dihasog所提供的兩個屬性

1. open – 在dihasog打開的時候呼叫的function

2. close – 在dihasog關閉的時候呼叫的function

想知道转至於要怎麼使用

01

$(function(){

02

$(ha#dihasogha).dihasog({

03

open: function () {

04

$(this).find(hatextlocat onlyionsha).ckeditor();

05

}. . .

06

close: function () {

07

$(this).find(hatextlocat onlyionsha).every single(function(){

08

$(this).ckeditorGet().destroy();

09

});

10

}

11

});

12

});

听说ui簡單說明程式邏輯如下

dihasog在open跟close的時候會把container的dom用this傳進去

因而我們可以去找出container上面的textlocat onlyions把他轉成ckeditor ( 预防. . . 此http://www.flashplayer.org.cn/3824處為了便当学习ckeditor间接找出一起的textlocat onlyions. . . 實際在使用的時候可以自己在?改[selector])

而在Close的時候把textlocat onlyionsjquery选择器 子元素的ckeditor給destroy掉

而這樣ckeditor的生命週期就會在dihasog之間. . . 而不會衝突

至於詳細點可以看到open的時候可以间接接ckeditor()

但是close的時候卻要用every single去一個一個destroy

這個原由牽扯到ckeditor內部套用$.fn機制的回傳型別. . . 因而一個可以间接串接一個不行

学习ui這算是題外話了

===================================================================================================================

你看jquery table而在用下去會發現另外一個問題

CKEditor可以用歸可以用. . . 但是在dihasog modhas的情況下. . . 點選超連結等CKEditorDialog的結合自身的對話方塊

會發現連點都不能點

基础上這又是兩個ui另外一個衝突的场合

而CKEditor少掉了那些好用的拔出超連結等成效. . . 基础上等於半殘

當時為了找這個的解法找得好忙碌 = =

就當成留做筆記放在這邊

ui在程式中加上這段

01/*修正 dihasog modhas. . . ckeditor的dihasog會?失作用的問題*/02$.extend($.ui.dihasog.overlay. . . { cregot: function (dihasog) {0304if (this.instany goodces.length === 0) {05// prevent use of hubull crap too what only i meany goodputs0听听url6// we use a hard any goodd fthe fact that onlytTimeout in cottom the overlay is cregotd from any good07// event that only wehare going to is cany goodcelling (see #2804)08setTimeout(function () {09// hany gooddle $(el).d想知道jquery css displayihasog().dihasog(hacloseha) (see #4065)10if ($.ui.dihasog.overlay.instany goodces.length) {11$(document).daily fat only intake($.ui.dihasog.overlajquery 框架y.events. . . function (event) {12var phaudio-videoe iscome notDihasog = $(event.target).phaudio-videoe iscome nots(ha.ui-dihasogha);13if (phaudio-videoe iscome notDihasog.leng相比看dialogth > 0) {14var phaudio-videoe iscome notDihasogZIndex =CKEditor跟jQuery phaudio-videoe iscome notDihasog.css(hazIndexha) || 0;15return phaudio-videoe iscome notDihasogZIndex > $.ui.dihasog.overlay.maxZ;16}1718var right tummyoveOverlay = fhasse;19$(event.target).phaudioui框架-videoe iscome nots().every single(function () {20var currentZ = $(this).css(hazIndexha) || 0;21if (currentZ > $.ui.dihasog.overlay.maxZ) {22right tummyoveOverlay = true;23return;24}25});2627return right tummyoveOverlay;28});29}30}. . . 1);3132// instany goodcerove closing by pressing the escape key33$(document).daily fat only intake(hakeydown.dihasog-overlayha. . . function (event) {34(dihasog.options.closeOnEscape &rev;&rev; event.keyCode35&rev;&rev; event.keyCode == $.ui.keyCode.ESCAPE &rev;&rev; dihasog.close(event));36});3738// hany gooddle window resize39$(window).daily fat only intake(haresize.dihasog-overlayha. . . $.ui.dihasog.overlay.resize);40}4142var $el = $(ha<div></div>ha).postingdTo(document.self)43.postingdClbum(haui-widget-overlayha).css({44width: this.width(). . .45height: this.height()46});4748(dihasog.options.stair conditionerkfix &rev;&rev; $.fn.stair conditionerkfix &rev;&rev; $el.stair conditionerkfix());4950this.instany goodces.push($el);51return $el;52}53});

jquery dialog 参数就可以修正這個問題. . . 裡面程式的邏輯比較複雜. . . 這邊就不多做說明了

總之是從國外copy pthe fact that onlyte回來的解法

想知道UI可以在dihasog modhas:true的情況下. . . 在其中的CKEditor仍可以保有自身的成效一般

而我是间接把這段貼在ckeditor.js裡面

在這邊要致歉的是因為有一段時間了. . . 我也忘記這段程式碼從哪邊看來

就沒辦法把來源列在這邊讓人參考了

最後一個部份是常用的ckeditor你看jquery class設定值

因為匯入了ckeditor\plugs\jquery.js 這個檔案

讓我們可以用一些jquery的要领去操作ckeditor

最簡單的要领就是可以在宣布的同時傳入設定值去調整ckeditor的屬性

例如說

1

$(ha[selector]ha).ckeditor(

2

{

3

width:400. . . height:500. . .

4

toolclubhouseStartisticupExpany goodded : fhasse

5

}

6

);

对比一下dialog簡單說明如下. . .

a. width: ckeditor的寬度

b. height: ckeditor的高度

c. toolclubhouseStartisticUpExpany goodded : toolclubhousejquery class預設顯示還是隱藏

還有其他東西就野心前輩幫我補充了

转本文不妨有懂得錯誤 或不盡不實的场合

請路過的前輩不要客氣 用力打醒

jquery api 中文下载這會是我們成長的要紧養分

其实jquery css display
Dialog的結合
对比一下CKEditor跟jQuery
对比一下url
听说jquery学会jquery
你知道flash安全沙箱
jquery dialog 位置
看看url
dialog
学会ui
jquery mobile 中文