不再需要时使用jQuery/kill实例
jQuery / kill Instance when not needed anymore
得到以下问题宽度jQuery:在一个站点上,有许多div容器,它们具有相同的类"stackgo",但具有不同的数据附加。示例:
<div class='"stackgo'" data-an='"HEY'" data-ms='"HO'" data-me='"HM'"></div>
我写了一些jQuery代码来将Post Massage应用于PHP文件,鼠标指针在div容器上方悬停时会发生变化,并在单击时发送Post Massage:
$('div.stackgo').hover(function() {
document.body.style.cursor = "pointer";
$('div.stackgo').on('click', function() {
var stackgo = $(this);
var an = stackgo.data('an');
var ms = stackgo.data('ms');
var me = stackgo.data('me');
if (an != '') {
$.post('../../AJAX/schreibmaterialnei.php', {an: an, ms: ms, me: me}, function(data) {
});
}
stackgo.html('');
stackgo.html('<img src="../../img/OK_Sign.png">');
stackgo.show("pulsate",500);
alert (an + " - " + ms + " - " + me);
});
}, function() {
document.body.style.cursor = "default";
});
很抱歉写的和格式化的代码很糟糕,这是我的第一步:(
现在出现以下问题:在第一次点击潜水容器时,一切都很顺利。但在点击第二个Div Container后,点击功能内的所有内容都将执行两次。我点击的容器越多,执行的"点击"功能就越多。(可以在大量的警报窗口和数据库中的条目中看到(由schreibmaterialnei.php管理)。不使用旧值,总是使用新值,就像我总共点击的一样多。
它似乎遍历了这个类"stackgo"在单击过程中创建的每个实例。
我该如何控制?我完全不知道:(
我将非常感谢
我认为,每当你悬停时,你都会将另一个"点击"绑定到你的div.stackgo上。我敢打赌,即使没有点击,你也会发现,如果你只是将鼠标悬停/移出几次,然后点击,你会看到同样的效果。
解决方案是检查是否已经绑定了任何单击,在这种情况下,在绑定单击事件或将"单击"绑定完全移出悬停之前返回false。
dgig是正确的。每次鼠标悬停在元素上时,都会将另一个事件绑定到每个$('div.stackgo')。
如果您将代码轻微地重构为:
$('div.stackgo').on('click', function() {
var stackgo = $(this);
var an = stackgo.data('an');
var ms = stackgo.data('ms');
var me = stackgo.data('me');
if (an != '') {
$.post('../../AJAX/schreibmaterialnei.php', {an: an, ms: ms, me: me}, function(data) {
});
}
stackgo.html('');
stackgo.html('<img src="../../img/OK_Sign.png">');
stackgo.show("pulsate",500);
alert (an + " - " + ms + " - " + me);
});
$('div.stackgo').hover(function() {
document.body.style.cursor = "pointer";
});
应该给你想要的结果。仅供参考,在运行此脚本之前,您需要确保div标记已加载。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- 剑道网格jQuery动画()问题
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- jquery点击函数select&取消选择
- 不再需要时使用jQuery/kill实例