我有一个代码结构,如:
<script type="text/javascript">
function something()
{
alert("insomething");
}
</script>
<input type="text" onclick="check" id="clk"/>
----------
我想知道如何触发clk.click()?来自下面的一个jquery:
$('.btn.right').click(function(e) {
$("#clk").onclick(); //DOES NOT WORK.. Need help with this.
}
答案 0 :(得分:2)
只需使用记录here的click()
方法。
$('.btn.right').click(function(e) {
$("#clk").click();
}
没有参数,它是.trigger('click')
的快捷方式。
答案 1 :(得分:2)
在jQuery中,您可以触发完全相同的响应,就像用户通过执行以下操作点击某些内容一样:
$("#clk").click();
答案 2 :(得分:2)
阅读完评论后,我决定写一个答案。
我觉得你可能会对功能如何运作感到有些困惑。您不能简单地通过click
事件传递参数(它是一个事件/动作),更不用说内联onclick函数不接受参数。在您当前的示例中,
<script type="text/javascript">
function something()
{
alert("insomething");
}
</script>
<input type="text" onclick="check" id="clk"/>
发生点击事件时,您正在引用function check
。但是,check
并不存在。如果你想将参数传递给function something
,你需要这样写:
<input type="text" onclick="something(*parameter*)" id="clk"/>
然而,您需要编辑function something()
以便它需要参数。因此,您可以将其更改为function something(param)
。
如果您想通过点击事件传递参数,则需要使用.trigger()
。但是,您需要稍微更改一下代码。
尝试做这样的事情:
HTML:
<input type="text" id="clk"/>
<button class="btn right">Click</button>
JAVASCRIPT:
$(function(){
function something(a) //a is the parameter
{
alert(a);
}
$('#clk').click(function(e, parm1, parm2){
//parm1 is first object in extraparameters array, parm2 is second
something(parm1);
something(parm2);
});
$('.btn.right').click(function(e) {
$("#clk").trigger('click', ['something', 'somethingelse'] );
});
});
样本: http://jsfiddle.net/dirtyd77/Z3YWb/1/
希望这有帮助!