使可调整大小的方法使输入字段不可点击

时间:2014-11-20 08:53:53

标签: mootools mootools-more

我的行为很奇怪,我花了几天时间试图找出问题所在。

MooTools方法使我的输入字段无法点击,我不知道为什么。

$$('.class1.class2').makeResizable({
});

上面的代码片段需要让div的所有孩子都有类'class1'和& 'class2'可以重新调整大小,并且完美无缺,但除此之外,它还使得输入字段不可点击。

有人有类似的问题吗?

任何形式的帮助都将受到赞赏。

由于

2 个答案:

答案 0 :(得分:2)

所以问题是你没有传入handle。当你没有这样做时,整个元素成为mousedown的监听器,并且尝试点击任何子元素将不会正确冒泡,导致奇怪行为。

我还在添加处理程序的逻辑中发现了一个错误,它似乎没有正确评估句柄

https://github.com/mootools/mootools-more/blob/master/Source/Drag/Drag.js#L66在许多层面都是错误的 - 它期望一个元素的集合/数组,但是在全局文档而不是子元素中查找 - 但它最终会选择元素并忽略像$$('.class1 .resizer')这样的传递集合

我做了一个小改动,接受了一个子选择器的字符串,并添加了一个resize处理程序。

http://jsfiddle.net/pbu5uzho/

你应该将此错误提交给https://github.com/mootools/mootools-more/issues,但我怀疑它会被接收。

$$('.class1').makeResizable({
    handle: '.resizer'
});

我为完成这项工作所做的改变是:

this.handles = this.element.getElements(this.options.handle);

或者,您可以使用InteractJS之类的东西来处理这个问题。

答案 1 :(得分:0)

我不是100%肯定,但你可以尝试这个吗

我认为你错过了(,)

$$('.class1,.class2').makeResizable({

});