Behaviour.js 真正的清潔了html?

          Posted on 2005-11-24 23:10 BlueO2 閱讀(963) 評論(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

          主站蜘蛛池模板: 行唐县| 米泉市| 旬邑县| 铜川市| 体育| 广西| 伊通| 湘潭县| 阳谷县| 肥东县| 大洼县| 民权县| 勐海县| 泽州县| 宝鸡市| 武乡县| 宜章县| 芮城县| 桐城市| 刚察县| 海林市| 旺苍县| 巧家县| 和田县| 顺义区| 安顺市| 临夏市| 岫岩| 和硕县| 万源市| 上高县| 沭阳县| 额尔古纳市| 宜都市| 大冶市| 杂多县| 鱼台县| 邓州市| 英吉沙县| 鸡西市| 巴青县|