我试图找出如何从javascript函数触发控件的事件(不触及实际控件本身)
说我有这个文本框......
<input type="text" value="" id="my_textbox" onclick="alert('!');" />
然后说我试图通过javascript调用它的onclick事件......
function TriggerTextboxOnClick()
{
//... call the onclick event of 'my_textbox'
}
P.S。我实际上并没有尝试弹出警报框,我为了插图而简化了它
答案 0 :(得分:3)
您可以致电document.getElementById("my_text_box").onclick()
,另请参阅:http://jsbin.com/ixuwo4。
答案 1 :(得分:1)
Bouke的解决方案有效。
一般来说,你可能想做一些这样的事情,而不是一个好的做法:
<input id="my_textbox" onclick="my_textbox_onClick()" />
...
function commonLogic() {
// Logic that's common to both the onclick event and the *other* code
}
function my_textbox_onClick() {
// This function should only contain logic that is triggered by a click on the textbox
commonLogic();
}
答案 2 :(得分:1)
//assuming using jQuery
$('#my_textbox').click(function(){
//do stuff here
});
//firing the event in some other function
function TriggerTextBoxOnClick(){
//do stuff here
$('#my_textbox').click();
}
参考:有关内联点击处理程序的更多信息:http://www.quirksmode.org/js/events_early.html
您可以使用普通的旧js执行与jQuery代码相同的操作:
element.onclick = doSomething;
if (element.captureEvents) element.captureEvents(Event.CLICK);
阅读本文以获取有关使用普通JS执行此操作的更多信息:http://www.quirksmode.org/js/introevents.html