顯示具有 javascript 標籤的文章。 顯示所有文章
顯示具有 javascript 標籤的文章。 顯示所有文章

2014年1月27日 星期一

[Javascript] trim() is not working in IE8

Error Message

Object doesn’t support this property or method


Solution

1. replace

str.replace(/^\s+|\s+$/g,"")


2. jQuery:

$.trim("str");



* Reference
. trim()

2013年9月2日 星期一

[JQuery] API


:first 


.prev()      


  
$(selector1).find(selector2);      


$(selector1).filter(selector2);  



$(selector).length 


$(selector).eq(i)  


$("p").insertBefore("#foo") = $("#foo").before("p")   



* Reference
- jQuery基础---filter()和find()
- Difference Between Filter() And Find() In JQuery

2013年1月6日 星期日

[Javascript] iframe(child) and its parent

//--- parent to child

// get child's object
$('#childId').contents().find('childObjectSelector')


//--- child to parent

// call the method defined in parent.
parent.methodInParent();

// get parent's object
$('parentObjectSelector', window.parent.document);


2012年10月20日 星期六

[javascript] Different result of String.length for browsers

javascript 中使用 String.length
  • chrome, FF
    • 換行視為 \n => 1 字元
  • IE
    • 換行視為 \r\n => 2 字元

Solution
在 IE 中,先將 \r\n replace 為 \n 再取得 length。

2012年9月15日 星期六

[JavaScript] Regular Expression syntax

RegExp(pattern [, flags])
/pattern/flags

  • pattern
    • The text of the regular expression.
  • flags
    • If specified, flags can have any combination of the following values:
  • g
    • global match
    • 找全部。因為 REGEX 預設碰到第一個符合的內容就結束比對。
  • i
    • ignore case 勿略大小寫。
  • m
    • Treat beginning and end characters (^ and $) as working over multiple lines (i.e., match the beginning or end of each line (delimited by \n or \r), not only the very beginning or end of the whole input string)


* Reference
- RegExp | MDN
石頭閒語:Regular Expression (RegExp) in JavaScript - 樂多日誌

2012年2月14日 星期二

[jQuery] 限制 textarea 最大可輸入長度

    
// 限制 textarea 最大可輸入長度 return true 才會顯示在畫面上
// $(this).val() 表示目前畫面上的 value,也就是長度並不包含正要輸入的這個字
$('#testAreaId').keypress(function(e) {
    var keyCode = e.keyCode ? e.keyCode : e.which;
    var BACKSPACE_KEY = 8;
    var LEFT_KEY = 37;
    var UP_KEY = 38;
    var RIGHT_KEY = 39;
    var DOWN_KEY = 40;
    var DELETE_KEY = 46;
    var filterKeys = [BACKSPACE_KEY, LEFT_KEY, UP_KEY, RIGHT_KEY, DOWN_KEY, DELETE_KEY];
    var enable = false;
    
    // 因為 FF 會沒有反應,因此多增加此判斷
    for (var i in filterKeys) {
        if (keyCode == filterKeys[i]) {
            enable = true;
            break;
        }
    }
    
    return enable || ($(this).val().length < ${maxLength});
});


2011年10月2日 星期日

[jQuery] ready() vs. onload()

[jQuery ready()]
  • 先透過 $() 取得 document 物件,接著使用 ready() 帶入一個函數,就可以在網頁下載完成後立即執行。
  • ex: $(document).ready(function());
  • 是模擬 W3C DOM 標準的 DOMContentLoaded 事件,因為,IE 目前的版本 6 和 7 並不支援 DOMContentLoaded 事件,所以 jQuery 用了此方法來達到模擬 DOMContentLoaded 的事件。
  • 在 DOM 文件下載完成後觸發。

[window.onload()]
  • 是文件和所有文件內的元件,包含圖檔等等全部下載完成後才會觸發

[versus]
  • 通常 window.onload 的發生時間要比 DOMContentLoaded 晚一點(如果你的網頁內確實有用到一些圖檔)
    • 所以,有時候你所需要執行的程式並不需要等所有圖檔都下載完成,因此,放到 DOMContentLoaded 事件內處理是比較合適的。
  • window.onload 並沒有辦法多次指定不同的函數來執行,最後指定的那個函數會複寫掉先前的。


* Reference
- jQuery 教學 - 基礎篇 - JavaScript 教學、心得分享 - jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 - Powered by Discuz! **

2011年9月18日 星期日

[WEB] Tile, JSTL, JS syntax in HTML





${status.count}


 colspan="2">



* Tile 的 attribute 在 HTML 中可透過 getAttribute 取得,ex:

<tiles:insertAttribute name="title" />





* 視 js 為 .txt







2011年9月10日 星期六

[Javascript] note

* javascript no overloading


* js action in href

<a href="javascript:function()">....


2011年8月6日 星期六

[Format] JSON

* Definition
  • JSON: Javascript Object Notation
  • 輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。
  • 儘管JSON是在Javascript的一個子集,但JSON是獨立於語言的文字格式,並且採用了類似於C語言家族的一些習慣。
  • 幾乎所有與網頁開發相關的語言都有JSON函式庫。
  • JSON與XML最大的不同在於XML是一個完整的標記語言,而JSON不是。
    • 這使的XML在程式判讀上需要比較多的功夫。主要的原因在於XML的設計理念與JSON不同。
    • XML
      • Easy extensible.
        • XML利用標記語言的特性提供了絕佳的延展性(如XPath),在資料儲存,擴充功能及高階檢索方面具備對JSON的優勢。
    • JSON
      • More faster when using.
        • JSON則由於比XML更加小巧,以及瀏覽器的內建快速解析支援,使得其更適用於網路資料傳輸領域。
      • More Security
        • 由於Javascript採用了稱為「沙盒」的機制,這種機制限制Javascript引擎僅能引入同一個站點的代碼,因而某種程度上提高了安全性

* Java API
  • key is case sensitive.
  • A get method returns a value if one can be found, and throws an exception if one cannot be found.
  • The generic get() and opt() methods return an object, which you can cast or query for type
    • There are also typed get and opt methods that do type checking and type coercion for you. 
    • The opt methods differ from the get methods in that they do not throw. Instead, they return a specified value, such as null.
  • Strings do not need to be quoted at all if... 
    • they do not begin with a quote or single quote, 
    • they do not contain leading or trailing spaces, 
    • they do not contain any of these characters: { } [ ] / \ : , = ; # 
    • they do not look like numbers and if they are not the reserved words true, false, or null.

* Reference
- 介绍 JSON : Have JSON format figures.
- wiki JSON : Have JSON examples.
- RFC 4627
- JSON : Explain with Javascript.
- JSON 速寫 : Javascript syntax example.
- Class JSONObject **
- android开发中文文档之基于JSON数据交换应用

2011年5月8日 星期日

[Javascript] Note

必得寫成

<script></script>

完整的結尾

若寫成

<script />

在有多個 script 時 tag 的配置會錯亂!

2011年3月17日 星期四

[Javascript] Introduction

什麼是 JavaScript?
  • - 用來向 HTML 頁面添加互動行為。
  • - 一種脚本語言(脚本語言是一種輕量级的编程語言)。
  • - 由數行可執行計算機代碼组成。
  • - 通常被直接嵌入 HTML 頁面。
  • - 是一種解釋性語言(就是说,代碼執行不進行預編碼)。

* 放置位置
  • - in <head>: 當 script 被調用或事件被觸發時,就會執行script。可以確定在要使用前便已經被載入。
  • - in <body>: 頁面載入時就會被執行,生成頁面內容。
  • - External script: 外部 script 中不需要包含  <script> tag,然後將 .js 指定至 <script> 的 "src" 屬性中。


* JavaScript 語句是發給瀏覽器的命令。這些命令的作用是告诉瀏覽器要做的事情

* === 全等: 值與型態都會比較,例: x===5 為 true;x==="5" 為 false


* Reference

2011年1月27日 星期四

Java date format pattern and Javascript Date object

* Letter(Presentation): Meaning, Examples

* G (Text): 西元, AD

* y (Year): year, yyyy (1996); yy (96)

* M (Month): Month in year, MMMM (July); MMM (Jul); MM (07)

* w (Number): Week in year, w (27)

* W (Number): Week in month, W (2)

* D (Number): Day in year, D (189)

* d (Number): day in month, d (10)

* F (Number): Day of week in month, F (2)

* E (Text): Day in week, EEE (Wed)

* a (Text): AM/PM marker, a (PM)

* H (Number): Hour in day (0-23), HH (13)

* k (Number): Hour in day (1-24), kk (24)

* K (Number): Hour in am/pm (0-11), K (0)

* h (Number): Hour in am/pm (1-12), h (12); hh (12)

* m (Number): Minute in hour, mm (00-59)

* s (Number): Second in minute, ss (55); s (55)

* S (Number): Millisecond,

* z (Gernal Time Zone): Time zone, Pacific Standard Time; PST; GMT-08:00

* Z (RFC 822 time zone): Time zone, -0800


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

Javascript


* getDate(): 1-31

* getDay(): 0-6

* getFullYear(): yyyy

* getMonth(): 0-11

* getHours(): 0-23

* getMinutes(): 0-59

* getSeconds(): 0-59



* Reference: Java API Document, Javascript Reference

2011年1月23日 星期日

10/19 javascript preview

* javascript != Java
   javascript和Java兩者是指不相同的東西 在技術上有很大的差別 只是語法相近而已
* 特性
   .不需要瀏覽器而能獨立運行 是client 端的 script language
   .其源代碼在發往伺服器執行之前不需經過編譯 將本文格式的代碼送給伺服器由瀏覽器執行
   .其中大小寫會造成差異(Case sensitve)
   .物件導向 (Object-Oriented)
   .寬鬆型態 (Loosely Typed): 其資料型態不嚴謹 是可以隨時變更的