功能未初始化

时间:2013-05-23 03:32:04

标签: jquery

我面临一个非常奇怪的问题。一切都应该正常工作,但是,函数拒绝运行。

我有类似的功能,运行得很好但除非我通过控制台运行,否则不会初始化。

这是代码:

$(".like").click(function() {
    number = parseInt($(this).text());
    $(this).text(number+1).addClass("iLike").removeClass("like");
    delete number;
});

$(".iLike").click(function() {
    number = parseInt($(this).text());
    $(this).text(number-1).addClass("like").removeClass("iLike");
    delete number;
});

我试图运行它的网站是:~~~~

它在脚本中,但它没有运行。我不知道为什么。

HTML:

<button id="like-85" class="like " type="button">3</button>

问题:将HTML注入DOM不会改变源代码,也不会将某些函数附加到注入中。

解决方案:在标记内插入,即onclick:

等事件

2 个答案:

答案 0 :(得分:1)

必须在$(document).ready()

答案 1 :(得分:1)

我检查了来源。您在该页面上没有包含likeiLike类的任何元素。所以基本上,你将click()绑定到任何东西。

更新:您似乎是通过js将按钮元素添加到apge中?如果是,请将click( function() ..更改为.on('click',function() ..

$(".like").on('click', function() {
    number = parseInt($(this).text());
    $(this).text(number+1).addClass("iLike").removeClass("like");
    delete number;
});

$(".iLike").on('click', function() {
    number = parseInt($(this).text());
    $(this).text(number-1).addClass("like").removeClass("iLike");
    delete number;
});

文档: http://api.jquery.com/on/