触发子控件的单击事件

时间:2012-07-24 07:28:47

标签: jquery

我的标记如下:

<li><span>..</span>
   <input type="button" id="clickme" Value="click ME" />
</li>

我的问题是如何使用jquery

自动触发li(按钮)的输入子项的click事件

我不想通过其ID访问该按钮我想通过.children()方法访问它。我试图这样做,但它不起作用:

<li id="liID"><span>...</span><input type="button" id="clickme" value="click ME" />

$("#liID").children("input").trigger('click');

但这不起作用:/

4 个答案:

答案 0 :(得分:0)

你可以使用

$('#clickme').trigger('click');

答案 1 :(得分:0)

您可以使用trigger()方法:

  

执行附加到给定事件类型的匹配元素的所有处理程序和行为。

$('li input').trigger('click');

或:

$('#clickme').click()

关闭li代码并尝试使用find()方法:

<li id="liID"><span>...</span><input type="button" id="clickme" value="click ME" /></li>

$("#liID").find("input").trigger('click');

答案 2 :(得分:0)

你可以说:

$('#clickme').click();

以下是:

的快捷方式
$('#clickme').trigger('click');

有关更多信息,请参阅.click().trigger()的jQuery API doco。

编辑:您似乎在说您想通过父li元素的id选择输入。如果是这样,如果您不想依赖输入作为直接孩子,请执行以下操作:

$("#liID").find("input").click();
// OR
$("#liID input").click();

或者,如果您只想选择直接子项的输入,则代码应该起作用:

$("#liID").children("input").trigger('click');

答案 3 :(得分:0)

您实际上是在尝试以编程方式单击该按钮,还是只是触发一些附加到其Click事件的Javascript?两者不同:

要触发附加到click事件的某些JS,您可以简单地执行类似

的操作
$('input', '#liID').click();
$('#liID').children('input').trigger('click');
etc

但是,据我所知,用JS实际伪造点击事件是不可能的。你可以触发附加到事件处理程序的JS,但如果你正在寻找默认功能,我认为没有任何可靠的方法可以做到这一点,所以你最好创建一个JS函数并将其附加到点击输入事件。然后你可以以编程方式触发。