如何在jQuery中调用JavaScript函数?
我试图从jQuery代码中调用JavaScript函数,但不起作用 JavaScript函数:如何在jQuery中调用JavaScript函数?,javascript,jquery,Javascript,Jquery,我试图从jQuery代码中调用JavaScript函数,但不起作用 JavaScript函数: <script type="text/javascript"> function showonlyone(thechosenone) { var newboxes = document.getElementsByTagName("a"); for (var x=0; x<newboxes.length; x++) { name = newboxes[x
<script type="text/javascript">
function showonlyone(thechosenone) {
var newboxes = document.getElementsByTagName("a");
for (var x=0; x<newboxes.length; x++) {
name = newboxes[x].getAttribute("class");
if (name == 'newboxes') {
if (newboxes[x].id == thechosenone) {
newboxes[x].style.display = 'block';
}
else {
newboxes[x].style.display = 'none';
}
}
}
}
</script>
功能仅显示一个(氯乙烯酮){
var newbox=document.getElementsByTagName(“a”);
对于(var x=0;x
可能只是js错误
$("#img2").on("click", function(event){
event.preventDefault();
showonlyone("im2");
});
但无论如何,如果已经开始,最好用jquery编写所有代码
可能只是js错误
$("#img2").on("click", function(event){
event.preventDefault();
showonlyone("im2");
});
但是无论如何,如果您已经开始,最好在jquery中编写所有代码。这并不是说您“需要将事件
传递到函数
”,因为jquery已经这样做了
但是,您应该命名参数,以便将其引用为事件
:
$("#img2").on("click", function(event){
// ^^^^^
event.preventDefault():
// etc.
});
在JavaScript中,event
不像this
那样是一个关键字。从历史上看,它是这样的,但不是标准化的。并不是说您“需要将事件
传递给函数
”,因为jQuery已经这样做了
但是,您应该命名参数,以便将其引用为事件
:
$("#img2").on("click", function(event){
// ^^^^^
event.preventDefault():
// etc.
});
在JavaScript中,event
不像this
那样是一个关键字。从历史上看,它是这样的,但不是标准化的。你会遇到什么错误?你确定你不是指showonlyone(#im2”)
?你需要将event
传递到函数中才能使用event.preventDefault()
@Bram:他似乎没有在这一部分使用jQuery,所以哈希是可能的,但不太可能。类似的强制性评论:jQuery是JavaScript。所以你的问题归结为:“如何调用函数?”或者“为什么不调用此函数?”你得到了什么错误?你确定你不是指showonlyone(#im2”);
?您需要将event
传递到函数中才能使用event.preventDefault()
@Bram:他似乎没有对该部分使用jQuery,因此哈希是可能的,但不太可能。类似的强制性注释:jQuery是JavaScript。因此您的问题归结为:“如何调用函数?”或“为什么不调用此函数?”您可以在自己的帖子上发表评论。您可以解释我,为什么我被否决,而2分钟后得到的相同答案获得3票赞成票?哪个答案?请将我链接到它。您需要将事件传递到函数中才能使用event.preventDefault()@Bram:他似乎没有对那部分使用jQuery,所以散列是一种可能性,但不太可能。-David ThomasAh,那。是的,评论对于部分答案来说很好。但是,作为答案发布的答案应该是完整的答案。理想情况下,他们应该进行教育,而不仅仅是修复一些代码。你可以在自己解释的扫描后发表评论对我来说,为什么我会被否决,而2分钟后得到的相同答案会获得3票赞成票?哪个答案?请将我链接到它。您需要将事件传递到函数中才能使用event.preventDefault()@Bram:他似乎没有对这一部分使用jQuery,所以散列是一种可能性,但不太可能。-David ThomasAh,那是。是的,评论对于部分答案来说是很好的。但是,作为答案发布的答案应该是完整的答案。理想情况下,他们应该进行教育,而不仅仅是修复一些代码。澄清一下:你甚至可以引用一个论点如果你不给它命名:参数[0]。preventDefault()
@JanDvorak虽然使用匿名参数是一种糟糕的做法,但知道这一点很好!@JanDvorak当然。但是,我看到使用参数的建议遭到强烈反对,所以我想我应该跳过它。@Frederik。我不是暗示过吗?:-)然而,Mozilla确实做到了这一点(有点)对于可选参数:函数(a/*,b*/){if(arguments.length>1){b=arguments[1]};..}
@JonathanLonowski有一些很好的参数[n]
的用法。当然,这不是:-)来澄清:即使不命名参数,也可以引用它:参数[0]。preventDefault()
@JanDvorak虽然使用匿名参数是一种糟糕的做法,但知道这一点很好!JanDvorak当然。但是,我看到使用参数的建议遭到反对,所以我想我应该跳过它。@Frederik.L我有没有暗示其他?:-)然而,对于可选参数,Mozilla确实(有点)这样做:函数(a/*,b*/){if(arguments.length>1){b=arguments[1]};..}
@JonathanLonowskiarguments[n]
有一些很好的用法。当然,这不是:-)