按下鼠标将类添加到对象中
Add class to object on mousedown
我想添加类"selected"当点击一个div。问题是,如果我点击一个div,有一个父div.父被选中,而不是我想选择的子div。
我希望能够单击父div没有子div被选中,并单击子div没有该div的任何父母被选中。只有一个div应该同时拥有所选的类。div也可以调整大小和拖动。
$("#wrapper").delegate('div:not(".ui-resizable-handle")', 'mousedown', function() {
$(".drag").removeClass('selected');
$(this).addClass('selected');
});
Demo: http://jsfiddle.net/6wYRF/3/…什么好主意吗?
这是由于事件传播,通过从事件处理程序返回false
来防止它
$(".drag").draggable();
$(".drag").resizable();
$("#wrapper").delegate('div:not(".ui-resizable-handle")', 'mousedown', function() {
$(".drag").removeClass('selected');
$(this).addClass('selected');
return false;
});
演示:小提琴
$(".drag").draggable();
$(".drag").resizable();
$("#wrapper").delegate('div:not(".ui-resizable-handle")', 'mousedown', function (e) {
$(".drag").removeClass('selected');
if ($(e.target).is('.drag')) {
$(e.target).addClass('selected');
}
});
演示--->
http://jsfiddle.net/6wYRF/7/每个事件传递一个对象作为回调的参数;该对象有一个target属性,该属性是当前生成事件的元素。
$("#wrapper").delegate('div:not(".ui-resizable-handle")', 'mousedown', function(evt) {
$(".drag").removeClass('selected');
$(evt.target).addClass('selected');
});
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Meteor-将选定窗体中的对象添加到集合中
- 在play2框架中向json对象添加下拉列表项
- 如何在javascript上向数组的对象添加新元素
- JSON到对象数组,并向每个对象添加项
- 如何将一个对象添加到每个对象数组中
- 向Angular作用域对象添加对象数组——TypeError
- CoffeeScript将对象添加到数组中
- 如何从Addon SDK向选项卡对象添加进度侦听器
- 使用ja将对象添加到HTML画布中
- 向通过ReST JSON调用生成的Angular Javascript对象添加方法
- 将新对象添加到本地存储
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 使用游标循环将JS对象添加到数组中
- 向调用全局javascript函数的对象添加处理程序
- 将另一个文件中的对象添加到单独文件中的阵列中
- 将对象添加到数组中
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- sequelize为找到的对象添加值
- 向对象添加新方法和值,同时避免重复