如何使用Javascript运行JS with on()函数

如何使用Javascript运行JS with on()函数,javascript,jquery,html,Javascript,Jquery,Html,JS日历完全启动后,将显示下面的HTML,我希望使用AsynchronousViewDefault\u CalendarView属性运行我的JS。然而,它根本不起作用 否则,对于我的问题,是否有任何解决方案需要确保可以使用AsynchronousViewDefault\u CalendarView属性来运行我的JS HTML: 或 AsynchronousViewDefault\u CalendarView div表在您运行该选择器时不存在,因此on也没有用于绑定事件处理程序的元素,相反,您应该

JS日历完全启动后,将显示下面的HTML,我希望使用AsynchronousViewDefault\u CalendarView属性运行我的JS。然而,它根本不起作用

否则,对于我的问题,是否有任何解决方案需要确保可以使用AsynchronousViewDefault\u CalendarView属性来运行我的JS

HTML:

AsynchronousViewDefault\u CalendarView div表在您运行该选择器时不存在,因此on也没有用于绑定事件处理程序的元素,相反,您应该将其委托给一个祖先,例如document,或该html插入的元素:

$(document).on(
  "click",
  "#AsynchronousViewDefault_CalendarView .ms-acal-vlink",
  function () {
    var abc = $("#AsynchronousViewDefault_CalendarView").find('a[title="Add"] [evtid="new_item"]').hover(
        function () {
            $(this).attr('href', 'http://share/Lists/Calendar.aspx?P=P1');
        }
    );
  }
);
以下是对此的一个很好的解释:

事件处理程序仅绑定到当前选定的元素;在代码调用.on时,它们必须存在于页面上。要确保元素存在并且可以选择,请在页面上HTML标记中的元素的文档就绪处理程序中执行事件绑定。如果将新HTML注入页面,请在将新HTML放入页面后选择元素并附加事件处理程序。或者,使用委派事件来附加事件处理程序,如下所述

委派事件的优点是,它们可以处理来自子元素的事件,这些子元素将在以后添加到文档中。通过选择在附加委派事件处理程序时保证存在的元素,可以使用委派事件来避免频繁附加和删除事件处理程序。例如,该元素可以是模型-视图-控制器设计中视图的容器元素,如果事件处理程序希望监视文档中的所有冒泡事件,则可以是文档。文档元素在加载任何其他HTML之前都在文档的头部可用,因此可以安全地在那里附加事件,而无需等待文档准备就绪


与PMay相关,也是由PMay编写的。非常棒,效果很好。非常感谢您的代码和教程:-
$( "#AsynchronousViewDefault_CalendarView div div table" ).on( "click", function() {
    var abc = $("#AsynchronousViewDefault_CalendarView").find('a[title="Add"] [evtid="new_item"]').hover(
        function () {
            $(this).attr('href', 'http://share/Lists/Calendar.aspx?P=P1');
        }
    );
});
$( "#AsynchronousViewDefault_CalendarView" ).on( "click", '.ms-acal-vlink' , function() {
    var abc = $("#AsynchronousViewDefault_CalendarView").find('a[title="Add"] [evtid="new_item"]').hover(
        function () {
            $(this).attr('href', 'http://share/Lists/Calendar.aspx?P=P1');
        }
    );
});
$(document).on(
  "click",
  "#AsynchronousViewDefault_CalendarView .ms-acal-vlink",
  function () {
    var abc = $("#AsynchronousViewDefault_CalendarView").find('a[title="Add"] [evtid="new_item"]').hover(
        function () {
            $(this).attr('href', 'http://share/Lists/Calendar.aspx?P=P1');
        }
    );
  }
);