我在我的(document).ready函数如下:为什么下面的jQuery函数会触发两次?
replace_fav_url();
和jQuery函数:
function replace_fav_url(){
$j('a.fav').click(function(e) {
$j.post($j(this).attr('href'));
e.preventDefault();
});
}
一切正常,良好的与该功能似乎被调用两次例外呢? 1点击两个函数调用?不知道这里发生了什么?
编辑:
FULL的application.js文件:
var $j = jQuery.noConflict();
//Append javascritp header requests
$j.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
});
$j(document).ready(function() {
$j(document).ajaxSend(function(event, request, settings) {
if (settings.type == 'GET') return;
if (typeof(AUTH_TOKEN) == "undefined") return;
settings.data = settings.data || "";
settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
});
replace_vote_urls();
replace_fav_url();
});
function replace_vote_urls(){
$j('a.vote').click(function(e) {
$j.post($j(this).attr('href'));
e.preventDefault();
});
}
function replace_fav_url(){
$j('a.fav').click(function(e) {
$j.post($j(this).attr('href'));
e.preventDefault();
});
}
能否请您发表您的JS的其余部分以及 – Niklas 2011-06-04 00:04:51
加满的.js文件仅供参考,(这两种功能[replace_vote_urls,replace_fav_url]火两次 – 2011-06-04 00:15:12
为什么不添加一个'调试;'语句(硬编码断点)和使用萤火虫的堆栈显示找出第二次调用该函数的位置? – ThiefMaster 2011-06-04 00:19:35