2010-01-13 97 views
1

我想知道是否可以使用Javascript来更改HTML元素调用的函数/方法。使用Javascript更改HTML元素调用的方法/函数

例子:

<input type="button" id="some_id" name="some_name" value="A Button" onclick="someFunction()" /> 

我现在想用Javascript来改变呼吁onclick事件的另一功能的方法/功能显示如下。

<input type="button" id="some_id" name="some_name" value="A Button" onclick="anotherFunction()" /> 

我尝试使用innerHTML的,当我检查了生成的HTML,它实际上在按钮改变了onclick事件的价值,但是当我按一下按钮,该方法不会被调用。

在此先感谢。

回答

3

您可以直接将函数对象分配给元素的onclick字段。例如,

var inp = document.getElementById('some_id'); 
inp.onclick = anotherFunction; 
+0

尝试过,但N不工作。 – IndexController 2010-01-13 20:48:38

+0

定义“不工作”。这是在原始Javascript中分配事件处理程序的标准方式。 – friedo 2010-01-13 20:53:35

+0

当将其他函数赋值给onclick事件时,它立即执行该函数,这不是我想要的。我想要执行的函数onclick的元素 – IndexController 2010-01-13 21:18:05

1

使用jQuery你可以这样做:

$('#some_id').unbind('click'); 
$('#some_id').click(function() { 
    anotherFunction(); 
}); 
+0

啊,你是完全正确的。你必须先解除绑定。谢谢,我没有意识到:) – wprl 2010-01-13 21:18:29

+0

评论冲突 - 我编辑后删除了我原来的评论。 +1为jQuery *,但*我也不认为这个开发者应该使用它 - 可能会更好地学习基础知识第一 – Graza 2010-01-13 21:22:22