0

我试图从我的 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].getAttribute("class");
        if (name == 'newboxes') {
            if (newboxes[x].id == thechosenone) {
                newboxes[x].style.display = 'block';
            }
            else {
                newboxes[x].style.display = 'none';
            }
        }
    }
}
</script>

jQuery代码:

<script type="text/javascript">    
jQuery(document).ready(function ($) {
    $("#img2").on("click", function() { 
        event.preventDefault();
        showonlyone("im2");            
    });
});
</script>
4

2 回答 2

3
event.preventDefault();

可能只是js错误,

$("#img2").on("click", function(event){
 event.preventDefault();
showonlyone("im2");

    });

但无论如何,如果您已经开始,最好用 jquery 编写所有代码。

于 2013-06-16T19:44:00.643 回答
2

这并不是说您“需要传递event给”function,因为 jQuery 已经这样做了。

但是,您应该命名参数,以便可以将其引用为event

$("#img2").on("click", function(event){
    //                          ^^^^^
    event.preventDefault():
    // etc.
});

在 JavaScript 中,event不是一个关键字,如this. 从历史上看,它一直是一个全局变量,但并没有这样标准化。

于 2013-06-16T19:56:44.017 回答