jQuery Click事件未触发

时间:2012-08-03 15:38:49

标签: jquery

简而言之,我有一个点击事件,它似乎没有被解雇。正在加载jQuery,这就是我对jQuery的看法:

<script type="text/javascript">
(function($) {
    $(".ajaxForm").click(function() {
        console.log('click');
    });
});
</script>

和HTML

<div class="right">
<span class="ajaxForm" type="ajax"><span>Get Quote</span></span>
</div>

可能只是我愚蠢,这是漫长的一天。有什么突出的错误吗?我已经检查过,双重检查并对选择器进行三重检查。

5 个答案:

答案 0 :(得分:6)

函数($)不正确。尝试$(function(){});

http://api.jquery.com/ready/

答案 1 :(得分:4)

这样的事情应该有效:

<script type="text/javascript">
$(document).ready(function() {
    $(".ajaxForm").click(function() {
        console.log('click');
    });
});
</script>

答案 2 :(得分:3)

尝试:

$(function(){
    $(".ajaxForm").click(function() {
        console.log('click');
    });
});

注意语法与第一行代码的区别。

答案 3 :(得分:3)

您创建了匿名函数,但是您忘了调用它(自调用函数)。在这种情况下,您必须使用jQuery对象作为参数直接调用它。代码:

<script type="text/javascript">
(function($) {
    $(".ajaxForm").click(function() {
        console.log('click');
    });
})(jQuery);
</script>

显然,在加载DOM之后或在.ajaxForm元素之后必须调用此函数(否则他将找不到附加事件的元素,并且事件不会附加到元素你想要的。)

如果您想在HEAD(或其他JavaScript文件)中使用此功能,则必须执行以下操作:

(function($) {
    $(document).ready(function() {
        $(".ajaxForm").click(function() {
            console.log("click");
        });
    });
})(jQuery)

答案 4 :(得分:0)

只是想把扳手投入工作......

$(".ajaxForm").on('click',function() {
    console.log('click');
});

On(类似于live)实际上是faster然后.click()并且不需要DOM准备就绪