js插件---markdown如何使用


js插件---markdown如何使用

一、總結

一句話總結:看文檔,看api,看參數列表,看js調用插件的調用函數的參數(json)

 

1、js和css的問題:如何知道插件要引入哪些js和css?

a、下載里面有demo,照着demo用,就知道要引哪些js和css

b、手冊里面會直接告訴你

 

 

2、參數問題:如何使用插件的函數參數列表?

a、直接用屬性的方式調用:data-參數名="參數值"

前面加data是因為data本身表示額外屬性,這樣加了之后就成了額外屬性

<textarea data-am-md data-savable="true"></textarea>
<textarea data-am-md data-width="800" data-height="300"></textarea>

參數說明:

參數名 類型 參數描述
autofocus boolean 編輯器實例化后自動focus。 默認 false
savable boolean 是否在底部添加保存按鈕。默認為 false
hideable boolean 設置為 trueblur 事件后,編輯器會隱藏 。 默認 false
width mixed 編輯器寬度。默認 inherit
height mixed 編輯器高度。默認 inherit
resize string 編輯器大小改變。 none,both,horizontal,vertical. 默認 none
footer mixed 編輯器底部DOM。默認為空,即不設置
fullscreen object 是否允許全屏: enable (bool);改變圖標: icons (object)
hiddenButtons mixed 隱藏默認的按鈕:單個為字符串,多個為數組
disabledButtons mixed 禁用默認的按鈕:單個為字符串,多個為數組

 

3、js插件中為什么喜歡用data-參數名=""的方式來添加額外屬性(使用插件參數)?

前面加data是因為data本身表示額外屬性,這樣加了之后就成了額外屬性

<textarea data-am-md data-savable="true"></textarea>
<textarea data-am-md data-width="800" data-height="300"></textarea>

參數說明:

參數名 類型 參數描述
autofocus boolean 編輯器實例化后自動focus。 默認 false
savable boolean 是否在底部添加保存按鈕。默認為 false
hideable boolean 設置為 trueblur 事件后,編輯器會隱藏 。 默認 false
width mixed 編輯器寬度。默認 inherit
height mixed 編輯器高度。默認 inherit
resize string 編輯器大小改變。 none,both,horizontal,vertical. 默認 none
footer mixed 編輯器底部DOM。默認為空,即不設置
fullscreen object 是否允許全屏: enable (bool);改變圖標: icons (object)
hiddenButtons mixed 隱藏默認的按鈕:單個為字符串,多個為數組
disabledButtons mixed 禁用默認的按鈕:單個為字符串,多個為數組

 

 

4、函數問題:如何使用插件默認寫好的函數?

比如儲存函數,直接在js調用插件的方式中(參數是json),在json中寫寫json格式的函數即可

1 <script>
2     $("#fry-textarea").markdown({
3       savable:true,
4       onSave: function(e) {
5         alert("Saving '"+e.getContent()+"'...")
6       },
7     })
8 </script>

這樣就可以保存了

其實實質就是用e.getContent()獲取編輯器里面的文本就好

 

5、演示文檔或使用手冊問題:在哪里去找演示文檔和使用手冊?

a、官方網頁一般都有,如果沒有,

b、下載的demo里面一般也有

c、樣例演示頁面的源碼

 

 

6、調用插件的三種方式?

a、data-api:在textarea 添加 data-am-md直接調用

<textarea data-am-md></textarea>


b、data-api:通過 "data-provide = am-md-editable" 調用MD編輯器

<div data-provide="am-md-editable">
  <h3>amazeui 啦啦啦啦阿拉啦</h3>
  <p>通過 "data-provide = am-md-editable" 調用MD編輯器</p>
</div>


c、通過JS調用: $('selection').markdown(options)

$("#some-textarea").markdown()

 

7、需要使用一個插件的時候我們應該怎么做?

靜心看使用手冊,不要着急

 

8、我們調用的這個markdown插件還有添加按鈕的功能給了我們什么啟示?

其它插件也可以,只是我們沒有找到方法而已

 

9、API如何調用?

代碼里面的alert("Saving '"+e.getContent()+"'...")e.getContent()就是調用的getContent()這個api

所以api的調用時用event對象來調用了

在函數內部

1 <script> 2  $("#fry-textarea").markdown({ 3  savable:true, 4  onSave: function(e) { 5  alert("Saving '"+e.getContent()+"'...") 6  }, 7  }) 8 </script>

 

調用API實例:編輯器失去焦點及預覽編寫內容:調用的是上圖進入預覽狀態的API:showPreview()

 

 1 <script>
 2     $("#fry-textarea").markdown({
 3       savable:true,
 4       onSave: function(e) {
 5         alert("Saving '"+e.getContent()+"'...")
 6       },
 7       onPreview: function(e) {
 8         var previewContent
 9 
10         if (e.isDirty()) {
11           var originalContent = e.getContent()
12 
13           previewContent = "Prepended text here..."
14                  + "\n"
15                  + originalContent
16                  + "\n"
17                  +"Apended text here..."
18         } else {
19           previewContent = "Default content"
20         }
21 
22         return previewContent
23       },
24       onBlur: function(e) {
25         e.showPreview();
26       }
27     })
28 </script>

 

 

10、保存編輯的內容功能是如何做到的?

在js調用方式的函數的參數(json)中加上onSava函數

<script>
    $("#fry-textarea").markdown({
      savable:true,
      onSave: function(e) {
        alert("Saving '"+e.getContent()+"'...")
      },
    })
</script>

 

 

 

二、markdown如何使用

1、截圖

 

 

 

2、代碼

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <!-- amazeui的默認引入 -->
 7     <link rel="stylesheet" href="../../../css/amazeui.min.css">
 8     <script src="../../../js/jquery.min.js"></script>
 9     <script src="../../../js/amazeui.min.js"></script>
10 
11     <!-- 插件對應的js和css -->
12     <link rel="stylesheet" href="css/am-md.css">
13     <script src="js/md.js"></script>
14     <script src="js/tomd.js"></script>
15     <script src="js/am-md.js"></script>
16 
17 </head>
18 <body>
19     <!-- 最最最最簡單使用:在textarea 添加 data-am-md -->
20     <h1>
21         <span class="am-text-danger">1:最最最最簡單使用:在textarea 添加 data-am-md</span>
22     </h1>
23     
24     <textarea data-am-md data-savable="true"></textarea>
25     <hr>
26     <h1>
27         <span class="am-text-danger">2:data-api</span>
28     </h1>
29     <div data-provide="am-md-editable">
30       <h3>amazeui 啦啦啦啦阿拉啦</h3>
31       <p>通過 "data-provide = am-md-editable" 調用MD編輯器</p>
32     </div>
33     <hr>
34     <h1>
35         <span class="am-text-danger">3: JS 通過JS調用: $('selection').markdown(options)</span>
36     </h1>
37     <textarea name="" id="fry-textarea" cols="30" rows="10"></textarea>
38 <script>
39     $("#fry-textarea").markdown({
40       savable:true,
41       onSave: function(e) {
42         alert("Saving '"+e.getContent()+"'...")
43       },
44       onPreview: function(e) {
45         var previewContent
46 
47         if (e.isDirty()) {
48           var originalContent = e.getContent()
49 
50           previewContent = "Prepended text here..."
51                  + "\n"
52                  + originalContent
53                  + "\n"
54                  +"Apended text here..."
55         } else {
56           previewContent = "Default content"
57         }
58 
59         return previewContent
60       },
61       onBlur: function(e) {
62         e.showPreview();
63       }
64     })
65 </script>
66 
67 </body>
68 </html>

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM