-1

例如,使用 javascript 我通常会调用这样的方法

<a href ="" onclick="javascriptMethod()">Link</a>

并实现这样的方法

<script type="text/javascript">
function javascriptMethod(){
 //codes
}
</script>

对于大多数 jQuery 文档的某些原因,我只能找到

$("").click(function(){
  //codes
});

我们不能在 jQuery 上进行 onclick 调用吗?

澄清:$().click由于现有的 div 数组我无法更改,我不需要为自身调用方法。我知道如何在 JavaScript 上做到这一点,而且很容易。问题是,我不能为像这样的元素调用 jQuery 方法<img onclick="jQueryMethod" />吗?

我需要向方法传递一个值,这是最重要的一点。由于元素在数组中,我无法确定哪个元素 [x]。

4

6 回答 6

3

这就是我们进行点击调用的方式。

通过其 id 访问控制并调用 click。

$("#IdOfClickableControl").click();

我们也可以通过触发器来实现

$("#IdOfClickableControl").trigger("click");
于 2012-07-04T14:49:48.100 回答
3

考虑以下 HTML:

<a id="mylink" href="#">Link</a>

你可以像这样添加一个监听器:

$("#mylink").click(function() {
    // Call the method you want
    javascriptMethod();

    // Prevent the default behaviour
    return false;
});

如果您不使用链接而是使用 aspan或 a button(无默认行为):

<span id="myelement">Click here</span>

你可以简单地写:

$("#myelement").click(javascriptMethod);

如果您有多个链接,您可以为每个链接添加一个类(即:)callback,然后执行以下操作:

$("a.callback").click(function() {
    javascriptMethod();
    return false;
});

编辑 1:添加了 OP 请求的方法调用。

编辑 2:处理多个链接

于 2012-07-04T14:53:59.130 回答
2

您不应该onclick直接在HTML源代码中定义函数,使用标识符然后使用 jQuery 附加处理程序要干净得多,例如id

<a href="" id="mylink">Link</a>

然后使用 jQuery 选择器选择它并像这样添加点击处理程序:

<script>
$(function() {
    $('#mylink').click(function() {
        // do stuff
    });
});
</script>
于 2012-07-04T14:56:08.317 回答
2

onclick并且所有其他内联事件都是注册事件的一种古老且侵入性的方式。这就是为什么人们在编写现代 HTML/JavaScript 时不再使用它们的原因。

通过 JavaScript 注册它们而不是使用内联事件的一些优点是,您可以调用不在全局范围内的函数,并使用闭包来提供在事件函数之外定义的非全局变量。由于您没有将 JavaScript 与 HTML 混合,因此它还可以使结构更清晰。

您还有一个优势,您可以通过例如类选择器轻松地将函数绑定到许多元素:$('.someclass').click(someFunction);

于 2012-07-04T15:03:11.993 回答
1

html:

<a href="" id="thingy">Link</a>

js

$("#thingy").click(function(){
  // the content of your method here
});
于 2012-07-04T14:55:14.623 回答
0
$("").click(function(){
//codes
});

此方法是事件处理程序。当最终用户单击您的锚标记时,将被调用,因此您不必调用任何方法。有关 jQuery 中事件处理的更多信息,请参阅

于 2012-07-04T14:51:56.683 回答