3

当我点击一个完全不同的分隔线时,我想让 ' select' 元素表现得好像它被点击了一样。是否有可能让它表现得好像它没有被点击一样?

这是我的代码 http://jsfiddle.net/fiddlerOnDaRoof/B4JUK/

$(document).ready(function () {
    $("#arrow").click(function () {
        $("#selectCar").click() // I also tried trigger("click");
    });
});

到目前为止,它既不适用.click(); 也不适用.trigger("click");

更新:

据我目前的理解,答案是否定的,你不能。尽管单击复制了该功能,但它不适用于像这样的某些示例。如果有人知道这是为什么,请在下面发布答案,我会接受它作为最佳答案。最好包括它不能正常工作的例子。

4

6 回答 6

9

您可以使用触发器(事件)功能,如 ("selector").trigger("click")

于 2012-05-04T12:32:44.077 回答
2

您可以click不带参数调用该函数,这会触发人为点击。例如:

$("selector for the element").click();

这也会触发 jQuery 处理程序和(我相信)DOM0 处理程序。我不认为它会触发它不会触发通过 DOM2 样式addEventListener/attachEvent调用添加的处理程序,正如您在此处看到的那样:Live example | 资源

jQuery(function($) {

  $("#target").click(function() {
    display("<code>click</code> received by jQuery handler");
  });
  document.getElementById("target").onclick = function() {
    display("<code>click</code> received by DOM0 handler");
  };
  document.getElementById("target").addEventListener(
    'click', 
    function() {
      display("<code>click</code> received by DOM2 handler");
    },
    false
  );

  display("Triggering click");
  $("#target").click();

  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }
});

这是一个使用DOM0 处理程序的属性机制的版本source) ;onclick="..."它也会以这种方式触发。

另请注意,它可能不会执行默认操作;例如这个例子source)使用一个链接,这个链接没有被关注。


如果您可以控制附加到元素的处理程序,这通常不是一个很好的设计选择;相反,理想情况下,您应该执行您想要执行的操作,然后在单击元素时以及在您想要执行该操作的任何其他时间调用该函数。但是,如果您尝试触发其他代码附加的处理程序,您可以尝试模拟点击。

于 2012-05-04T12:32:58.400 回答
1

是的。

$('#yourElementID').click();
于 2012-05-04T12:33:14.777 回答
0

看到你jsfiddle,先学会使用这个工具。

您选择了 MooTools 而不是 jQuery。(在这里更新)

现在,在选择上触发“点击”事件不会有太大作用。我猜您希望第二个选择与第一个选择同时展开。

据我所知,这是不可能的。

如果没有,请尝试选择时的“更改”事件。

于 2012-05-04T12:53:47.137 回答
0

如果您使用 jquery 添加了事件侦听器,则可以使用 .trigger();

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

于 2012-05-04T12:33:34.243 回答
0

当然,您可以使用以下方法触发对某物的点击:

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

看看这里的文档:http: //api.jquery.com/trigger/

于 2012-05-04T12:33:47.573 回答