首页 新闻 会员 周边

怎么获取html页面中js方法的具体内容并修改?

0
悬赏园豆:20 [已解决问题] 解决于 2015-01-18 21:41

页面A.html中有一个按钮btn的click事件,现在我想引入一个外链js,这个外链js主要作用是对这个click事件重写,但是需要获取原来事件的内容,只是改变原来事件方法中的跳转语句,其他语句保留。请问怎么获取原事件的内容并修改。

这是A.html中click事件的内容

var bt = {
click: function() {

//修改前后,这句if判断都要保留,而且不能写死(页面不同,判断内容页不同)要从原事件中获取,所以原事件中怎么写,修改后的也要保持一致
if (radioClickTag.some(function(x) {
return x == -1;
})) {
//如果符合判断要求,此处就需要修改成:document.location="";否则不修改click事件
window.toast.fitnessErrorDialog("很抱歉,您未填写完整。");
} else bt.check();
}

 

js
问题补充:

在线急等,请帮忙解答一下,谢谢!

acmzs的主页 acmzs | 初学一级 | 园豆:145
提问于:2015-01-18 20:27
< >
分享
最佳答案
0

获取事件方法,.toString()能得到方法体,

修改指定语句内容,然后new Function(修改后方法体)

得到一个方法变量。付给事件,结束

收获园豆:20
吴瑞祥 | 高人七级 |园豆:29449 | 2015-01-18 21:04

toString()获取不到方法体,只是重新执行了一次原方法,没有获取到具体的方法内容

acmzs | 园豆:145 (初学一级) | 2015-01-18 21:15

@acmzs: 比如元素b的onclick事件。

b.onclicn.toString()这样能取到方法体的

吴瑞祥 | 园豆:29449 (高人七级) | 2015-01-18 22:03

@acmzs: 你现在按F12(谷歌浏览器)然后输入$("#link_answercomment_154219_comment_862004")[0].onclick.toString()

就能看到了

吴瑞祥 | 园豆:29449 (高人七级) | 2015-01-18 22:04

@吴瑞祥: 嗯,可以获取,刚才写错了,我是加了(),所以重新执行了原方法,感谢!

acmzs | 园豆:145 (初学一级) | 2015-01-18 22:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册