【问题标题】:Onclick function on td element Kendo Schedulertd element Kendo Scheduler上的onclick功能
【发布时间】:2014-03-05 14:28:34
【问题描述】:

我有一个由 Kendo 调度程序生成的表。 我必须在文档加载时在每个 td 上添加一个点击功能。

目前,我已经尝试过:

    $(document).ready(function () {
    $('td.k-nonwork-hour').click(function () {

        alert("Hello");

        });
   });

用于添加 onclick 功能。我也尝试过 onclick

    $(document).ready(function () {
    $('td.k-nonwork-hour').onclick =function () {

        alert("Hello");

       };
    });

但它们都不起作用。有人知道解决方案吗? :)

【问题讨论】:

  • mh javascript 控制台中可能有错误吗?也许 td.k-nonwork... 选择器是错误的,因为 jsfiddle.net/52fkT 正在工作
  • 请在剑道之后显示HTML。
  • 我认为 javascript 控制台中没有错误。它必须与 td.k-nonwork 类有关,因为我可以让它与其他类型的类一起使用。实际上它是整个表,我无法通过 onclick 得到响应。我也尝试指定表名,例如 $('.randomTableName .k-nonwork-hour').onclick =function ()... ,但没有任何帮助。

标签: javascript jquery kendo-ui


【解决方案1】:

最好使用委托事件,而不是将事件处理程序附加到每个单元格。

例如

       scheduler.wrapper.on("click", "td.k-nonwork-hour", function() {
        alert("Non working day!")
       }); 

Here 是一个活生生的例子。

【讨论】:

    【解决方案2】:
    scheduler.wrapper.on("mouseup touchend", ".k-scheduler-table td, .k-event", function(e) {
            var target = $(e.currentTarget);
    
            if (target.hasClass("k-event")) {
                var event = scheduler.occurrenceByUid(target.data("uid"));
                scheduler.editEvent(event);
            } else {
                var slot = scheduler.slotByElement(target[0]);
    
                scheduler.addEvent({
                    start: slot.startDate,
                    end: slot.endDate
                });
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多