我是JQuery的新手,所以这可能是一个非常愚蠢的问题。如何在JQuery中触发更改?
我已经使用JQuery来使表中的元素可拖动。我问了a question关于如何使它更快,而我迄今为止的最佳回应是禁用所有单元格的droppable,并且只在拖动某些内容时启用它们。
实际上,对我来说,这样做很有意义,因为我只希望能够将一个单元格拖到同一行中的另一个单元格上。所以我只需要将droppable应用到同一行的单元格中。所以,我这样做:
$(document).ready
(
function()
{
$('.draggable_div').draggable
(
{
addClasses: false,
scroll: false,
axis: 'x',
start: function(event, ui)
{
$(this).css('background-color','#ddddff');
var $cells = $(this).parent().parent().children();
$cells.addClass("droppable_td");
}
}
);
...
萤火告诉我,我已经成功地添加了“draggable_td”类细胞中的右排。但是,如何让这种变化触发?我此刻设置代码的方式,可放开连接这样的:
$('.droppable_td').droppable
(
{
addClasses: false,
over: function(event, ui)
{
$(this).css('background-color', '#ccffcc');
},
out: function(event, ui)
{
$(this).css('background-color', null);
},
drop: function(event, ui)
{
etc...
我知道代码的工作,因为如果我把这个类在适当的< TD>在HTML元素所有的工作(非常缓慢)。
换句话说:如果我从一开始就把所有的细胞都放下了,它就会起作用。我怎样才能动态地改变一个单元格,使其可以因事件而丢弃?
D'oh!很简单。有效。谢谢! – Ben 2009-02-25 15:05:38