Kendo UI调度器不允许可靠的单元格点击事件处理
Kendo UI scheduler doesn't allow for reliable cell click event handling
文档说调度器更改事件是"当用户选择调度器中的单元格或事件时触发"。
好了。问题是该事件也会在浏览器窗口调整大小时触发。我的应用程序现在认为,当浏览器窗口调整大小时,用户点击了一个单元格。
如何区分这两种情况?
我以为我有答案,但没有骰子。不知道是什么原因导致调度器在调整大小时触发更改事件。我在一个木偶JS视图中展示它。也许和这个有关?不确定。这是不应该的。
我知道这一切都是正确的,因为当单击日历时,日历工作正常-根据日历插槽是否有事件或空白显示正确的视图。但是change事件会在窗口大小调整时触发导致我的应用程序触发视图改变。调度程序更改事件中的断点确认它正在触发窗口大小调整。
下面,我根据在各种帖子中发现的一些处方,尝试放弃更改事件,转而使用onClick。丑陋的代码,但它在Chrome工作。不幸的是,在其他浏览器中不起作用。为什么没有"onClick"事件?我刚看了一个与之竞争的调度程序产品,它有一个。
Chrome唯一的解决方案: "e"下面是onClick事件对象:
//Get the element ID - the DOM ID of the thing that was clicked. You'll use it to
//dip into the scheduler data model to get the event specific data you're after.
var uid = e.toElement.parentElement.parentElement.attributes[2].nodeValue;
//Get a reference to the scheduler data model
var scheduler = $("#scheduler").data('kendoScheduler');
//Use the uid to find the event associated with the click action
var event = scheduler.occurrenceByUid(uid);
这里是帮助制定Chrome解决方案的帖子:
从EventTemplate调用Scheduler事件
Kendo UI调度器不允许可靠的单元格点击事件处理
这个问题显然是在其他浏览器中不起作用。这个uid值(e.t eelement . parentelelement . parentelelement .attributes2. nodevalue)在不同的浏览器中处于不同的位置。所以这个解是不行的。
我不知道这样的产品怎么没有onClick事件。可能要用不同的日历。非常令人沮丧。
手头的问题是我在一个木偶js项目视图中渲染这个日历。当单击调度器单元格项时,我将用户带到另一个视图。但是调度程序用来处理点击的事件"change"也会在浏览器窗口调整大小时触发。在浏览器窗口调整大小时,我的应用会把用户带到不同的视图。不好的。
- 我可以使用jqgrid的oncellselect事件根据单元格内容将文本颜色更改为蓝色吗
- Javascript动态表,每个单元格都有一个onmouse事件
- 存在事件的单元格的jQuery DatePicker背景色(加载时)
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- JointJS-鼠标点击事件触发单元格位置更改事件
- 在iphone的表格单元格上触摸事件
- 完整日历 (v2.x) 从事件中获取日单元格单击
- Javascript- 将点击事件添加到动态生成的表格单元格中
- jQuery 基于事件类型的单元格的日期选取器背景颜色
- 将悬停CSS添加到用javascript处理的表单元格中
- jQuery 单击事件在包含在光滑网格单元格中时不会为锚点触发
- 是否应该对 JavaScript 事件处理程序进行单元测试
- 从 Google Fusion Tables on Click 事件中访问单个单元格值
- jQuery DataTables - 将带有事件的 jquery 生成元素添加到表单元格中
- Vaadin 日历:如何在事件单元格上显示另一个属性
- 表单元格内span或td的单击事件处理程序不起作用
- 在IE中单元测试事件处理程序
- 数据表——用特定的单元格类处理行
- 如何在选择关联存储记录时触发网格单元格事件
- Kendo UI调度器不允许可靠的单元格点击事件处理