如何使用javascript更改onclick?
https://jsfiddle.net/749rt0m7/1/
我尝试使用此代码,但无法正常工作。我该怎么办?
<span onclick="test_fn('aaa,bbb')" id="xx">edit</span>
<script>
document.getElementById('xx').onclick = "test_fn(111,222)";
</script>
答案 0 :(得分:7)
这里有几件事情。
首先,test_fn()
不是jsfiddle中的函数。您需要定义它以便调用它。
其次,您将onclick属性设置为字符串而不是函数。您必须使用以下代码将其设置为函数。
document.getElementById('xx').onclick = function() { test_fn(111,222) };
的示例
<强>更新强>
看起来我误解了这个问题。如果您确实想要更改onclick属性,请更改HTML显示的内容,您将需要使用setAttribute()
。所以你的代码将是......
document.getElementById('xx').setAttribute( "onClick", "test_fn('111,222')" );
作为旁注,就像nnnnnn
在原帖的评论中所说的那样,使用它时,你通过函数传递1个参数,这个函数似乎是你想要的字符串111,222
通过两个。如果您希望将111
作为第一个参数并将222
作为第二个参数传递,则可以使用test_fn(111,222)
(将参数作为整数传递)或{{1}调用该函数(将参数作为字符串传递)
答案 1 :(得分:0)
您需要将onclick
设置为运行代码test_fn('111,222')
的函数:
<script>
document.getElementById('xx').onclick = function() { test_fn('111,222'); }
</script>
答案 2 :(得分:0)
document.getElementById('xx').onclick = function() {
test_fn(111, 222);
};
在HTML中设置onclick
时,请使用字符串。通过JS设置时,请使用函数。
答案 3 :(得分:0)
我看不到你在哪里定义函数self.automaticallyAdjustsScrollViewInsets = false
你在html和js中将函数挂钩到元素test_fn
两次..只需要一个,你需要实际定义函数
onclick
现在你需要定义 <span id="xx">edit</span>
<!-- or .. not both , they are doing pretty much the same thing-->
<script>
document.getElementById('xx').onclick = function(){
console.log('clicked')
}
</script>
点击元素
test_fn
请注意,html function test_fn(arg1 , arg2){
condole.log(arg1 , arg2)
}
版本传递一个参数,而js脚本版本传递两个参数。