这个问题可能看起来微不足道,但我真的需要掌握它的窍门。对于这方面的任何帮助,我都非常感激。
<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绑定帮助我们解决了这个问题。这看起来很标准。
但是无论如何,非常感谢你的支持。我真的很感激:)