单击事件对象跟踪问题
Click event object tracking woes
所以我在这方面的工作,但通过点击事件获得元素id的jQuery。然后,这会触发一个功能,其作用类似于已弃用的.toggle()——它在第一次单击时将元素向下滑动,并在第二次单击时将元素向上滑动。然而,有一个bug会导致元素在被点击的次数中上下滑动。例如,如果这是我第二次使用. clicktoggle函数,则元素(表)在固定之前上下滑动两次,以此类推。我怀疑它与事件对象有关,e,跟踪点击次数——也就是说,我可能不应该设置id = e.target。id——但我不确定如何修复,同时仍然获得相关的元素id,我需要。
这里是相关的clickToggle插件(由stackoverflow提供的答案)。
(function($) {
$.fn.clickToggle = function(func1, func2) {
var funcs = [func1, func2];
this.data('toggleclicked', 0);
this.click(function() {
var data = $(this).data();
var tc = data.toggleclicked;
$.proxy(funcs[tc], this)();
data.toggleclicked = (tc + 1) % 2;
});
return this;
};
}(jQuery));
下面是符合上述描述的错误代码。
$(document).click(function(e) {
//get the mouse info, and parse out the relevant generated div num
var id = e.target.id;
var strId = id.match(/'d$/);
//clickToggle the individual table
$('#showTable' + strId).clickToggle(function () {
$('#table' + strId).slideDown();
$('#table' + strId).load('files.php');
},
function () {
$('#table' + strId).slideUp();
});
});//close mousemove function
任何帮助都将非常感激。谢谢。
问题是每次调用clickToggle
时都要为元素注册一个新的click
处理程序:
this.click(function() {...
在随后的每次单击中,您将添加另一个处理程序,并调用之前的所有处理程序。Bleagh .
最好直接:(DEMO)
var showTable = function($table) {
$table.slideDown();
$table.load('files.php');
$table.removeClass('hidden');
};
var hideTable = function($table) {
$table.slideUp();
$table.addClass('hidden');
};
$(document).click(function (e) {
//get the mouse info, and parse out the relevant generated div num
var id = e.target.id;
var strId = id.match(/'d$/)[0];
var $table = $('#table' + strId);
if ($table.hasClass('hidden')) {
showTable($table);
} else {
hideTable($table);
}
});
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 赛道的拉力赛问题->交叉发布跟踪选项
- 我的跟踪代码有什么问题
- Google 跟踪代码管理器 (GTM) 新事件侦听器代码出现问题
- 将“按$index跟踪”与过滤器一起使用时,出现错误.如何解决这个问题
- 在像蛇一样的游戏中跟踪分数的问题
- 谷歌分析事件跟踪代码问题
- USPS使用XMLHttpRequest跟踪API问题
- 滚动菜单跟踪问题
- 我想使用fbi . event .subscribe记录跟踪值在Facebook喜欢按钮,但遇到了一个问题
- 谷歌分析跟踪跨网站:隐私问题
- Ng-options按问题跟踪
- 使用谷歌分析跟踪电子商务的问题
- 单击事件对象跟踪问题
- HTML5画布问题|点击跟踪
- Piwik问题,同时跟踪网站
- Shopify 中的 Google Analytics 事件跟踪代码问题
- XMLHttpRequest跟踪问题(仅适用于Firefox和Safari)
- 谷歌分析-跟踪事件-撇号问题
- 事件跟踪不工作-可能是跟踪代码的问题