如何将span从jQuery绑定更改为onClick



这个问题可能看起来微不足道,但我真的需要掌握它的窍门。对于这方面的任何帮助,我都非常感激。

<span class="first">This thing</span>
$(.first).click(function() {});

直到现在我一直在使用这个。但是由于一些编码限制,我被告知要将跨度从jQuery绑定更改为onClick。我不能确切地理解他们那样说的意思。有谁能帮我弄清楚这一点,如果可能的话,可以更好地了解jQuery绑定和onClick绑定之间的差异。非常感谢在这方面的任何帮助。非常感谢!

我建议您使用jQuery的".on()"特性来绑定事件并处理绑定的事件。

jQuery的官方"。on()"文档说:"为一个或多个事件附加一个事件处理函数到选定的元素。"

直接链接:http://api.jquery.com/on/

工作的例子:

$(document).ready(function() {
  $('.first').on( "click", function() {
    alert('you clicked me!');  
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="first">This thing</span>

是对内联事件处理程序<span class="first" onclick="alert('event handler body')">This thing</span>的引用

引用http://www.w3schools.com/js/js_events.asp

他们可能想要的是:

span class="first" onclick="myfunc() "

这和你的jQuery绑定的区别在于,你的jQuery选择器是工作在任何类"。首先",而onclick版本只会影响与该html位一起绘制的内容。

你可以改变你的jQuery选择器工作在一个唯一的ID而不是一个类。

以某种方式要求它有许多可能的原因。使用jQuery绑定可以更容易地处理和操作来自中央js文件的事件。使用onclick可以更容易地看到直接在dom中发生了什么,它还可以在不访问声明所有绑定的主js文件的情况下操纵onclick属性。这也可以归结为人们遵守的编码约定。

你必须具体化你的功能

$(".first").click(function() {});

第一步是得到类似

的东西
function spanClickFunction() {
  ... some code ...
}
$(".first).click(spanClickFunction);

然后你必须将事件移动到span

<span onClick="spanClickFunction()" class="first">This thing</span>
function spanClickFunction() {
   ... some code ...
}

您可以查看此StackOverflow以更好地了解.click().on("click"),以及onClick().click()的差异。

的"基本思想"是,onClick将只触发当元素被点击,而jQuery .click.on("click")可以添加事件监听器到几个标签感谢他们的名字,类等…不是id,因为它们必须在整个页面中唯一!如果您对此有进一步的问题,我将编写一个jsFiddle:)

非常感谢你为我提供了一些很好的答案。我一定会按照你提供的链接去做。

无论如何,下面的onClick绑定为我工作。

$(document).on('click','.first',(function(){
}));

实际上,正如我在问题中提到的,我们遇到了一个典型的jQuery绑定span元素的问题。上面的onClick绑定帮助我们解决了这个问题。这看起来很标准。

但是无论如何,非常感谢你的支持。我真的很感激:)

相关内容

  • 没有找到相关文章

最新更新