Behaviour.js 真正的清潔了html?

          Posted on 2005-11-24 23:10 BlueO2 閱讀(965) 評論(1)  編輯  收藏 所屬分類: AJAX

          http://bennolan.com/behaviour/   為了避免在html中引入過多的script tag,尤其現在富客戶端應用很火的時候,script寫的就越發的多。
          官方網站舉了一個這樣子的例子

          <div id="image_16209134_normal">
          <script language="Javascript">
          photo_hash['
          16209134'] = new Object();
          photo_hash['
          16209134'].title =
           '2am on Saturday';
          </script>
          <h4 id="title_div16209134" 
              style
          ="margin-bottom: 0px; margin-top: 0px;">

              2am on Saturday
          </h4>
          <script type="text/javascript">initPhotosUserPageTitle_div('16209134');</script>

          這是Flickr上面一段代碼。確實,它使得代碼閱讀起來結構不清晰了。Behavior應用之后,不需在元素上寫明觸發事件要執行的方法,比如
          <a onclick="this.parentNode.removeChild(this)" href="#">
          Click me to delete me
          </a>
          而變成了
          <ul id="example">
          <li>
          <a href="/someurl">Click me to delete me</a>
          </li>
          </ul>
          那么javascript如果找到這個a鏈接并加上onclick事件方法的呢?采用css selector

          var myrules = {  
          '#example li' : function(el){  
          el.onclick = function(){   
          this.parentNode.removeChild(this);  
          } }};
          Behaviour.register(myrules); 確實看起來,html清爽了,但是,卻引入了其他的元素。ok,我們可以為每個控件定義id,其實也未嘗不可,asp.net不也是web component開發的時候都定義id的么?可似乎又脫褲子放屁之嫌。在維護一個對某一組應用相同樣式或響應
          相同方法的html控件上應用behavior,有意義,起碼不必每個上面都寫上onclick之類的,但是對于更普遍的應用,每個html控件要做得事情是不同的啊。那個時候,不但用behavior代碼量增加了,而且維護一個var myrules里的內容和去刪除控件上的onclick其實工作量差不多。真正的應用可不是demo啊,列出來一排link寫著remove me,然后執行一樣的動作。
          不過正如我上面說的,還是有一定的應用場景的,大家可以在有此需求的時候考慮,還有一Behaviour.js





          Feedback

          # re: Behaviour.js 真正的清潔了html?  回復  更多評論   

          2006-01-18 01:00 by 拐拐龍底咚
          今天發現了它的一個變種(?)degrader.js
          http://blog.chunzi.org/archives/2005/11/oe_behaviourjs.html

          posts - 29, comments - 3, trackbacks - 0, articles - 0

          Copyright © BlueO2

          主站蜘蛛池模板: 祁连县| 潜江市| 盘锦市| 饶平县| 博野县| 天峻县| 南通市| 弥勒县| 通渭县| 孙吴县| 桦甸市| 密山市| 农安县| 延吉市| 六枝特区| 凌源市| 芜湖县| 九江县| 福建省| 容城县| 类乌齐县| 巴彦淖尔市| 宁津县| 瓦房店市| 黑山县| 裕民县| 平乐县| 北票市| 安岳县| 扶沟县| 长丰县| 浪卡子县| 平度市| 荥经县| 中西区| 清苑县| 招远市| 德钦县| 凤庆县| 丹凤县| 丰原市|