JavaScript获取onclick、onchange等事件值的代码
2013-07-22 18:22
507 查看
今天小菜处理下拉菜单级联问题时,想获取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是一个事件,因此获取的是一个函数对象,无法当成字符串处理。
希望这篇文章能够帮助需要的童鞋。
小菜想通过事件中的信息,确定下一级的菜单,但是这个貌似很简单的问题,却让小菜纠结了一番。
稍微懂点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给按钮绑定点击事件(onclick)的方法
- js动态添加的DIV中的onclick事件简单实例
- javascript 动态改变onclick事件触发函数代码
- IE8的JavaScript点击事件(onclick)不兼容的解决方法
- js动态添加onclick事件可传参数与不传参数
- javascript使用onclick事件改变选中行的颜色
- javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
- JS中双击和单击事件冲突的解决方法
- js鼠标单击和双击事件冲突问题的快速解决方法
- JS实现鼠标单击与双击事件共存
- JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
相关文章推荐
- JavaScript获取onclick、onchange等事件值的代码
- JavaScript获取onclick、onchange等事件值的代码
- 纯JavaScript实现获取onclick、onchange等事件的值
- JavaScript获取onclick、onchange等事件的值
- 纯JavaScript实现获取onclick、onchange等事件的值
- JavaScript获取onclick、onchange等事件的值
- 怎么通过onclick事件获取js函数返回值(代码少)
- JavaScript的ready方法中获取某元素(如获取某个button,并设置onclick事件)的疑问?为什么要写在ready方法里,不用ready方法可以吗?
- javascript 动态改变onclick事件触发函数代码
- 怎么通过onclick事件获取js函数返回值(代码少)
- javascript 动态改变onclick事件触发函数代码
- javascript 动态改变onclick事件触发函数代码
- 兼容各大浏览器的JavaScript阻止事件冒泡代码
- JavaScript调用ajax获取文本文件内容实现代码
- JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
- javascript获取来源的URL代码
- javascript[js]获取url参数的代码
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足