CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  Ajax

关于使用Event:selector的一个问题!!寻求更好的解决途径!!

楼主ginkylin(carnon)2006-07-02 02:44:12 在 Web 开发 / Ajax 提问

各位大虾!日前跟着潮流学习了ajax,提到框架,我首先选择了轻量级的prototype.prototype的作者根据behaviour框架的灵感,在prototype1.5中引入了(css)Event:selector,我觉得如果这个框架完美的话,倒是对web制作中实现行为与结构的分离带来了极大的便利。  
  关于Event:selectors的具体说明,我只给出网址,是英文的,中文的这方面内容太少了。  
  http://encytemedia.com/event-selectors/  
   
  好了,我现在开始提起我遇到的问题了。  
  首先我要实现的是这么一种效果:我在html文件中定义纯粹的元素标签,在css文件中定义样式,在  
  style.js文件中, 把css样式中的各种选择符,按照 类别 给予 事件的绑定,我做的测试是关于  
  loaded,具体地说:我想在button按钮发生加载事件的时候,给button添加上样式同时绑定事件。  
  但问题出现了。  
   
  我的测试共三个文件:  
   
  buttonStyle.html  
   
  <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  <html   xmlns="http://www.w3.org/1999/xhtml">  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"   />  
  <title>Button   Style</title>  
  <style   type="text/css">  
    @import   url(style.css);  
  </style>  
  <script   type="text/javascript"   src="prototype.js"></script>  
                    <script   type="text/javascript"   src="event-selectors.js"></script>  
   
  </head>  
   
  <body>  
  <table   width="100%"   border="0"   cellpadding="0"   cellspacing="0">  
      <tr   height="30">  
          <td   id="contain">  
              <input   name=""   type="button"   disabled="disabled"   class="ButtonType"   accesskey="A"   value="添加"   icon="images/button_ok.gif"/></td>  
      </tr>  
  </table>  
   
  </body>  
  </html>  
            <script   type="text/javascript"   src="style.js"></script>  
   
   
  style.js  
   
          var   Rules   =   {   '.ButtonType   :loaded':   function(element,event)   {  
  var   input=element;  
  var   span=document.createElement("span");  
  span.style.backgroundColor="lightblue";  
  span.innerHTML=element.value;  
  span.onclick=function(){alert("hello");};  
  $(input).parentNode.replaceChild(span,$(input));  
        }  
  };  
  EventSelectors.start(Rules);    
   
   
  style.css  
   
  .ButtonType{  
   
  }  
   
  到这里的话,一切都还顺利,运行起来的话。ie和firefox都通过。但是我如果在html文件中 button   下面再添加一个 button     取value属性为"删除"(取什么都可以了!),保存,运行:  
  ie下出现错误,错误内容:parentNode对象为空或不是对象  
  fireFox下的javascript控制台的错误内容是:.parentNode   has   no   properties  
    如果我在html页中再复制一个按钮的话,也会出现同样的错误。  
  另外,不知道大家注意到了没有,对于html文件中的包含文件,有一个我把它放在最下面:  
            <script   type="text/javascript"   src="style.js"></script>  
  如果放在head位置中 ,则全然没有效果,我觉得这换个很不协调,独独要把这个文件放在底部,其他的放在首部,对结构上我觉得是一种缺陷。我基本是严格按照 官方网站提供的资料(虽然少得可怜)  
  以及格式做的试验,但这个错误却让我不解。  
    如果有哪位高手,理解这个框架的话,可以帮我解决一下问题,(一定要和loaded事件有关的哦)!  
   另外,框架这个东西,其实把整个的框架文件.js包含进来,无异于对加载文档的速度有影响,如果javascript本身 能够实现 监听任意元素 的加载就好了,  
   据我查阅的文档 表明 好像 load事件只是由 window,image,frame等 对象fire出的。  
  那么请问高手,我们是否可以扩展Event事件,定制自己的load事件呢(比如我给button按钮设置一个load监听,或者给一个<a>也设置一个监听,这一点微软的htc就做到了,只可惜只能用再ie,不然它应该是最棒的)?????  
   
    期盼高手回复  
  ,,,,,,我想这个问题对很多ajaxian来说也是很有意义的。  
  问题点数:20、回复次数:0Top

相关问题

关键词

得分解答快速导航

  • 帖主:ginkylin

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo