Javascript 无法访问事件数据-event.data未定义
我触发一个事件模态:show,在这里我传递模态对象的id。但是当我处理事件时,event.data总是未定义的 我应该如何访问这些值Javascript 无法访问事件数据-event.data未定义,javascript,jquery,Javascript,Jquery,我触发一个事件模态:show,在这里我传递模态对象的id。但是当我处理事件时,event.data总是未定义的 我应该如何访问这些值 <img src="/GetPicture?pic=110&thumb=1" class="r img show-modal" data-modal="modalZoom" data-id="110" data-index="1" /> $(".show-modal").click(function (event) { var idM
<img src="/GetPicture?pic=110&thumb=1" class="r img show-modal" data-modal="modalZoom" data-id="110" data-index="1" />
$(".show-modal").click(function (event) {
var idModal = $(this).data("modal");
event.preventDefault();
$("#" + idModal).trigger("modal:show", [{ id: idModal }]);
});
$(".modal").on("modal:show", function (event) {
var $modal = $("#" + event.data.id);
$modalBlack.fadeIn("slow", function () {
$modal.fadeIn("fast", function () {
$modal.trigger("modal:visible", [{ id: event.data.id }]);
});
});
});
您试图与modal:show事件一起传递的额外数据将不会附加到事件对象本身;相反,它将作为事件处理程序的第二个参数到达: $.show-modal.clickfunctionevent{ var idModal=$this.datamodal; 违约事件; $+idModal.triggermodal:show[{ id:idModal }]; }; $.modal.onmodal:show、functionevent、foo{ console.logfoo.id/我替换了这个:
var $modal = $("#" + event.data.id);
为此:
var $modal = $("#" + event.id);
数据不在事件对象上,而是在DOM元素上。@RandyCasburn是的。DOM元素。而不是事件对象。@RandyCasburn是的。错误在于他们试图访问事件对象上的数据,而不是使用event.data.id而不是$this.dataid.Wow-我关注的是第一次单击处理程序,而不是模态:show处理程序-谢谢打开我的眼睛!嘿@TheRuler-你在模态中有一个错误:show handler。或者用一些代码提供一个答案,以便像我这样的人很容易看到解决方案