从jquery调用html onclick

时间:2013-07-03 17:09:18

标签: javascript jquery

我有一个代码结构,如:

<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.
}

3 个答案:

答案 0 :(得分:2)

只需使用记录hereclick()方法。

$('.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/

希望这有帮助!