作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当将元素拖动到中间列上时,中间列应该改变宽度。它确实有效,直到我单击替换按钮来替换中间列的 html。然后事件停止被触发。据我所知 .on()
应该能够处理这种情况,还是我错了?
这是一个简单的演示,演示了该问题:https://jsfiddle.net/shuetvyj/3/
HTML:
<div class="members-column">
<div class="sort"> 1 </div>
<div class="sort"> 1 </div>
</div>
<div id="groupB" class="members-column">
</div>
<div class="members-column">
<div class="sort"> 2 </div>
</div>
<a href="" id="replace">replace groupB</a>
Javascript:
$(".members-column").sortable({
items: ".sort",
connectWith: ".members-column"
});
$("#groupB").on("sortover", function() {
console.log('overB');
$('#groupB').css('min-width','80px');
});
$("#groupB").on("sortout", function() {
console.log('outB');
$('#groupB').css('min-width','');
});
$("#replace").on("click", function(e) {
e.preventDefault();
$("#groupB").replaceWith('<div id="groupB" class="members-column"></div>');
});
最佳答案
使用 .html
代替 replaceWith
,如下所示
$("#replace").on("click", function(e) {
e.preventDefault();
$("#groupB").html("");
});
https://jsfiddle.net/shuetvyj/5/
使用替换
$('body').on('sortover', '.members-column', function() {
$('#groupB').css('min-width','80px');
});
$('body').on('sortout', '.members-column', function() {
$('#groupB').css('min-width','');
});
$("#replace").on("click", function(e) {
e.preventDefault();
$("#groupB").replaceWith('<div id="groupB" class="members-column"></div>');
$(".members-column").sortable({ items: ".sort",connectWith: ".members-column" });;
});
关于javascript - 替换元素后未触发 Sortover 和 sortout 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45319897/
当将元素拖动到中间列上时,中间列应该改变宽度。它确实有效,直到我单击替换按钮来替换中间列的 html。然后事件停止被触发。据我所知 .on() 应该能够处理这种情况,还是我错了? 这是一个简单的演示,
我是一名优秀的程序员,十分优秀!