JavaScript获取onclick、onchange等事件值的代码


Posted in Javascript onJuly 22, 2013

今天小菜处理下拉菜单级联问题时,想获取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是一个事件,因此获取的是一个函数对象,无法当成字符串处理。
希望这篇文章能够帮助需要的童鞋。
Javascript 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
jQuery 一个图片切换的插件
Oct 09 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
js实现新浪微博首页效果
Oct 16 Javascript
基于Javascript实现返回顶部按钮
Feb 29 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
Jun 17 Javascript
JavaScript队列、优先队列与循环队列
Nov 14 Javascript
JavaScript仿微信打飞机游戏
Jul 05 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
Nov 07 Javascript
offsetHeight在OnLoad中获取为0的现象
Jul 22 #Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 #Javascript
JS 实现图片直接下载示例代码
Jul 22 #Javascript
js操作iframe兼容各种主流浏览器示例代码
Jul 22 #Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
Jul 22 #Javascript
JS判定是否原生方法
Jul 22 #Javascript
js图片延迟加载的实现方法及思路
Jul 22 #Javascript
You might like
joomla内置的表单验证功能使用方法
2010/06/11 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
php实现的通用图片处理类
2015/03/24 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
Python计算字符宽度的方法
2016/06/14 Python
python ---lambda匿名函数介绍
2019/03/13 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Yahoo的PHP面试题
2014/05/26 面试题
项目经理岗位职责
2013/11/11 职场文书
文秘专业应届生求职信范文
2013/11/14 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
工程总经理工作职责
2013/12/09 职场文书
机电一体化自荐信
2013/12/10 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
我的求职计划书
2014/01/10 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2014年药店店长工作总结
2014/11/17 职场文书