zoukankan      html  css  js  c++  java
  • JavaScript获取onclick、onchange等事件值的代码

      这里主要是用到了getAttributeNode()这个方法,它获取的是属性节点,忽略属性和事件的差别,具体示例如下,感兴趣的朋友可以参考下哈希望对大家有所帮助

      今天小菜处理下拉菜单级联问题时,想获取HTML标签中某个事件的内容,也就是值,比如从<select id="city" onchange="javascript:test();"></select>中获取javascript:test();。小菜想通过事件中的信息,确定下一级的菜单,但是这个貌似很简单的问题,却让小菜纠结了一番。 
    稍微懂点JQuery的童鞋,可能会尝试这样获取:
    $(document).ready(function(){
        var onchangeValue = $("#city").attr("onchange");
        alert(onchangeValue);
    });

      一般情况下,这样的确可以获取到,因为JQuery万能的attr方法,可以获取标签中任何的”属性”,即使是一个事件,也可以直接获取内容,这里onchange就是事件。 
    但小菜在实际开发环境中,用这个方法怎么也获取不到,得到的均是undefined。 
    在纠结之际,发现了另外一种用纯JavaScript实现获取的方法。 
    具体代码如下: 

    $(document).ready(function(){
        var onchangeValue = document.getElementById("city").getAttributeNode("onchange").nodeValue;
        alert(onchangeValue);
    });

      简单说一下,这里主要是用到了getAttributeNode()这个方法,它获取的是属性节点,忽略属性和事件的差别,类似于对XML的处理,然后再用nodeValue获得属性节点的节点值。 
    如果使用getAttribute()方法,由于onchange是一个事件,因此获取的是一个函数对象,无法当成字符串处理。 

  • 相关阅读:
    SqlServer触发器的创建与使用
    SqlServer存储过程的创建与使用
    SqlServer视图的创建与使用
    U盘重装系统:手把手教你怎么使用U盘重装系统、清除登录密码
    附034.Kubernetes_v1.21.0高可用部署架构二
    附032.Kubernetes实现蓝绿发布
    CKS考试心得分享
    001.IT运维面试问题-Linux基础
    附031.Kubernetes_v1.20.4高可用部署架构二
    深入Netty逻辑架构,从Reactor线程模型开始
  • 原文地址:https://www.cnblogs.com/chaizp/p/4802739.html
Copyright © 2011-2022 走看看