我面临一个非常奇怪的问题。一切都应该正常工作,但是,函数拒绝运行。
我有类似的功能,运行得很好但除非我通过控制台运行,否则不会初始化。
这是代码:
$(".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:
等事件答案 0 :(得分:1)
必须在$(document).ready()
答案 1 :(得分:1)
我检查了来源。您在该页面上没有包含like
或iLike
类的任何元素。所以基本上,你将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;
});