Javascript 如何调用jQuery方法?

Javascript 如何调用jQuery方法?,javascript,jquery,Javascript,Jquery,比如说,使用javascript我通常会调用这样的方法 <a href ="" onclick="javascriptMethod()">Link</a> <script type="text/javascript"> function javascriptMethod(){ //codes } </script> 我们不能对jQuery进行onclick调用吗 CLEARIFICATION:而不是$。单击我需要调用方法本身,因为现有的div

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

<a href ="" onclick="javascriptMethod()">Link</a>
<script type="text/javascript">
function javascriptMethod(){
 //codes
}
</script>
我们不能对jQuery进行onclick调用吗

CLEARIFICATION:而不是$。单击我需要调用方法本身,因为现有的div数组我无法更改。我知道如何在JavaScript上实现这一点,而且非常简单。问题是,我能不能为类似这样的元素调用jQuery方法


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

这就是我们打电话的方式

通过其id访问控件并单击调用

$("#IdOfClickableControl").click();
我们也可以通过触发器来实现

$("#IdOfClickableControl").trigger("click");
此方法是事件处理程序。当最终用户单击锚定标记时,它将被调用,因此您不必调用任何方法。
有关jQuery中事件处理的更多信息,请考虑以下HTML:

<a id="mylink" href="#">Link</a>
如果不使用链接,而是使用范围或按钮,则无默认行为:

<span id="myelement">Click here</span>
如果您有多个链接,您可以为每个链接添加一个类,即:callback,然后执行以下操作:

$("a.callback").click(function() {
    javascriptMethod();
    return false;
});
编辑1:根据OP请求添加了方法调用

编辑2:处理多个链接

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

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

然后使用jQuery选择器选择它并添加如下所示的单击处理程序:

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

    // Prevent the default behaviour
    return false;
});
<script>
$(function() {
    $('#mylink').click(function() {
        // do stuff
    });
});
</script>

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

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


您还有一个优势,即可以通过类选择器将函数轻松绑定到许多元素:$'.someclass'.clicksomeFunction

你想做什么?你问的没有任何意义。从例子中你不明白的是什么?onclick和所有其他内联事件都是一种古老的、令人厌恶的、侵入式的事件注册方式。这就是为什么人们在编写现代HTML/JavaScript时不再使用它们。你到底想做什么?基本上,你最后一个问题的答案是否定的。就像@ThiefMaster说的。像这样?:@MrGhimire 1。你的报价被打破了。2.JS-inside-href属性需要javascript:prefix.+1,这是迄今为止最好的答案。我会使用href=javascript:void0;这是更长的,但不依赖于锚黑客。但那只是我。只需添加,使用href=javascript:void0;您不必在函数结束时返回false来阻止浏览器滚动到顶部,但仅此而已。@florent,有大量mylink,如,myLink1,myLink2等,并且每个的编写方法都不是正确的方法。有什么方法可以推荐给我吗?你可以给每个链接添加一个类,比如:callback,然后执行$a.callback.clickfunction{javascriptMethod;return false;}@MrGhimire给他们一个公共类,然后$'.MyLink'.clickfunction{//etc,或者将您想要的链接包装在一个元素中:$'myDivLinks a'来选择其中的所有链接,或者最终连接所有链接$'myLink1,myLink2'。有很多方法可以做到这一点。我以为您批准了一个更完整的答案。@Florent:像这样不清楚的问题会发生这种情况。实际上我甚至没有想到我所说的最初作为评论发布是OP想要的。所以有时候会让你生气,甚至当有人像弗洛伦特一样在回答问题时会更生气。但这只是世界的运转方式,因此我不回答这种问题。
$("a.callback").click(function() {
    javascriptMethod();
    return false;
});
<a href="" id="thingy">Link</a>
$("#thingy").click(function(){
  // the content of your method here
});
<a href="" id="mylink">Link</a>
<script>
$(function() {
    $('#mylink').click(function() {
        // do stuff
    });
});
</script>