Jquery在单击时没有任何行为

Jquery在单击时没有任何行为,jquery,Jquery,我有一个id为#wrapper的div。在它旁边我有一个按钮。单击按钮时,会触发一个ajax调用,返回一个div列表,其中包含一个名为.calendarDate的类。一切都很好,#包装器填充得很好 现在我试图在.calendarDate类上创建一个click事件,但它不起作用。奇怪的是,我应用于该类的CSS属性工作正常。希望有人能承认这种奇怪的行为。顺便说一下,我的调试器中没有错误。提前感谢您的回复。干杯马克 我的PHP:工作得很好 Here i set my variables... whi

我有一个id为
#wrapper
的div。在它旁边我有一个按钮。单击按钮时,会触发一个ajax调用,返回一个div列表,其中包含一个名为
.calendarDate
的类。一切都很好,
#包装器
填充得很好

现在我试图在
.calendarDate
类上创建一个click事件,但它不起作用。奇怪的是,我应用于该类的CSS属性工作正常。希望有人能承认这种奇怪的行为。顺便说一下,我的调试器中没有错误。提前感谢您的回复。干杯马克

我的PHP:工作得很好

Here i set my variables...

while($input<$inDays){
    ++$input;
    $test=$input." days";
    if($input<0){$attribut='"avant"';}else{$attribut='"apres"';}
    echo '<div class="calendarDate" indiDate=' .$attribut. '>' .date('Y-m-d', strtotime($test)). '</div>';
}
我的HTML:

<div id="wrapper"></div>
        <input id="envoyer" type="submit" multiplicateur="1">


问题的一个可能原因(在没有看到代码的情况下无法确定)是您试图在页面加载时绑定单击事件,因此
.calendarDate
元素不存在。确保在将
.calendarDate
元素添加到页面之前,不要为
.calendarDate
元素添加单击事件。

听起来好像是在将单击事件绑定到calendarDate类之前。请尝试使用此绑定事件处理程序

$(document).on("click", ".calendarDate", function() {
    // etc
}
这将对具有calendarDate类的所有元素触发click事件处理程序,而不管它们是否存在于文档就绪状态

$('.calendarDate').bind('click', function() {
   alert('Replace the alert with your code.');
});

这就是我所能说的,不用看你的代码来检查错误。如果您有动态生成的元素,请尝试将.bind()替换为.live()。

您可以将单击事件绑定为
单击
。而是使用或。如果您使用的是jQuery<1.7,则应使用
.delegate()

如果您使用的是jQuery 1.7+,那么应该使用
.on()


在document ready中绑定事件时元素不存在?在ajax调用成功并将标记注入dom后,您需要将click事件绑定到
.calendardate
,或者使用
.live
.delegate
而不是
。单击

我们需要查看您的代码。把它放在一个粘贴箱里。更好的方法是:制作一个演示并在这里发布相关信息。你真的希望有人能帮你,告诉我们我有a和b,但行为z不起作用吗?我不能做JS小提琴,因为我的div是由ajax填充的call@FelixKling这类问题“通过AJAX加载后,我的点击事件不起作用”告诉Everything,即使没有代码。。但是您是对的。@dfsq:据我们所知,OP也可能在回调中绑定了事件处理程序,问题可能完全不同。如果是关于代码的问题,它应该包括代码。
$(“文档”)
应该是
$(文档)
,或者为什么不
$(document.body)
@FelixKling Ooops!谢谢:)我使用文档是出于习惯。公平地说,我建议使用最近的容器,但这只是一个工作示例。你太棒了!它起作用了:)不过我不太明白你的解释。我将在jquery网站上查询。on()。谢谢你的帮助,伙计。On只是一个事件绑定器,但是,是的,请查看jQuery网站,因为您知道他们的文档通常都很优秀。@FelixKling。或者为什么不`$('body')…=)你好。你的解决方案也很有效。我需要了解一下,因为我不知道那是什么。谢谢…谢谢吉姆,你的解释让我更明白了
$('.calendarDate').bind('click', function() {
   alert('Replace the alert with your code.');
});
$('#wrapper').delegate('.calendarDate', 'click', function() {
    // this should work
});
$('#wrapper').on('click', '.calendarDate', function() {
    // this should work
});