我在IE和Chrome上正式触发了点击事件,但在Firefox上没有。
我的代码:
sender.bind("open", function () {
var $openButton = sender.wrapper.find('.k-i-arrow-s');
$openButton.addClass('active');
$(document).delegate($openButton, "click", function () {
sender.close();
sender.input.blur();
});
});
问题是Firefox上的委托是在第一次注册click事件时触发的!我也尝试了 on()和 bind(),同样的事情发生了。
解释代码:
这是一个Kendo MultiSelect控件。当它打开时,我必须将点击事件注册到 $ openButton 对象,这就是全部。
有什么想法吗?
这是道场:http://dojo.telerik.com/eSOBo
要测试点击箭头!
祝你好运
丹尼尔
答案 0 :(得分:1)
只需查看您的代码及其不必要的代码
close
第52,59行,你总是插入相同的内容,你已经在第46行用相同的代码放了箭头,你将不再需要它了。
绑定open
和after
for multiselect以在箭头中添加和删除活动类,这会破坏您的预期行为。我建议你阅读"What is event bubbling and capturing?"。
当您正常点击箭头或多选文本框(所有浏览器应具有相同行为)时,事件捕获将起作用,从多选开放然后箭头单击事件开始。
然而,重新插入元素内容的这个jquery代码package org.x.y.z
private case object MA
private case object MB
private class ExistActor extends Actor {
def receive: Receive = {
case MA =>
case MB =>
}
}
在firefox中使用其他浏览器提供了不同的体验。尝试删除该代码,看看所有浏览器会发生什么。
查看此dojo以查看所有浏览器都支持的更简单的实现。