zoukankan      html  css  js  c++  java
  • JS原生隐士标签扩展

      最近项目开发中,开发了不少的接口,有一个接口是这样子的。先从A公司拿到数据后,存放到我们公司数据库里,然后需要将数据展示给客户,下面这个界面,后台要实时刷新,后台写了个定时器,2S刷一次从后台拼接好Html传给前台,哎···页面有点丑,大佬莫见怪。公司里用的框架EXTJS,东西都是封装好的,开发基本上只要写写JS脚本就可以,所以没有招美工,用的Bootstrap 随便捣鼓下,讲究着给客户展示吧~~

    主界面

      需求这样的:展示的内容是实时刷新的,客户随机点击一个Div弹出一个模态窗体,然后把详细信息展示给客户,那么问题来了,怎么多个Div如何绑定点击事件???然后如何区分开来???

    模态窗体

      晚上学习视频的时候,可以用原生JS写一个隐士的按钮点击扩展方式,用到的知识:eval()、JS属性选择器、获取标签中的值

     第一步:为标签添加扩展属性

    1         <input type="button" btn-click="afterClick" id="15" value="点一下" /> <!--btn-click="afterClick"  添加扩展属性-->
    2         <input type="button" btn-click="afterClick" id="16" value="点一下" /> <!--btn-click="afterClick"  添加扩展属性-->
    3         <input type="button" btn-click="afterClick" id="17" value="点一下" /> <!--btn-click="afterClick"  添加扩展属性--> 

    第二步:编写JS隐士扩展方法

     1     <script type="text/javascript">
     2         $("input[btn-click]").click(function () {
     3             var strFunc = $(this).attr("btn-click"); //获取当前点击标签、扩展属性的函数名
     4             var strId = $(this).attr("id"); //获取点击标签的Id值
     5             eval(strFunc + "("+strId+")"); //调用eval()方法,执行该方法,并传入一个参数:Id
     6         });
     7         function afterClick(id) {
     8             alert(id); //弹出传进来的Id,既然可以获取当前点击的Id值,这里在做一些异步请求,问题自然而解,啦啦啦~~~
     9             debugger;
    10         }
    11     </script>

    效果:

    官网解释:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

    返回值

      通过计算 string 得到的值(如果有的话)。

    说明

      该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

    如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。

       只不过我们借助eval()方法,执行的函数罢了。好了,我们现在已经可以通过这个隐士扩展方法,拿到Id,后续在调用异步请求,巴拉巴拉.....这个问题就解决啦~~/开心 

  • 相关阅读:
    windows中administrator 和 administrators两个账户的区别
    如何去掉打印网页时自带的网址以及页码等内容
    Oracle左连接,右连接
    oracle服务器本地能够登录但是局域网内其他机器不能访问的解决方法
    错误Name node is in safe mode的解决方法
    oracle数据库中对varchar类型求max的解决方法
    JBoss中配置数据源出现错误:“Failed to register driver for: com.mysql.jdbc.Driver”的解决方法
    学习junit和hamcrest的使用
    Ubuntu10.10如何给用户添加sudo权限
    ORACLE 9i卸载并重新安装
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/11266892.html
Copyright © 2011-2022 走看看