Bootstrap modal relatedTarget未定义
我试图使用show.bs.modal
事件的属性show.bs.modal
获取被点击的元素。 但它总是变得不确定。
这就是我所拥有的:
$("#curCarSelect").on('click', function(e) { $("#curCarModal").on('show.bs.modal', function(event) { modalOpenedby = event.relatedTarget; alert(modalOpenedby); }).modal('toggle'); });
尝试:
$("#curCarSelect").on('click', function(e) { $modal.modal('toggle', $(this)); });
其中$ modal是你打开的模态元素,然后:
$modal.on('show.bs.modal', function (event) { var button = $(event.relatedTarget) // Button that triggered the modal })
根据文件 :
如果由单击引起 ,则单击的元素可用作事件的
relatedTarget
属性。
但你只是在调用.modal('toggle')
。 这不涉及任何点击事件 ,因此在您的情况下为什么relatedTarget
未定义。
如果需要在动态打开的模态中使用event.relatedTarget
,则可以将目标作为模态函数中的第二个参数传递。
$("#curCarSelect").on('click', function(e) { $("#curCarModal").modal('toggle', $("#curCarSelect")); });
我让它适合我。 试试这个:
$("#curCarSelect").on('click', function(e) { $("#curCarModal").on('show.bs.modal', function(event) { modalOpenedby = event.relatedTarget; alert(modalOpenedby); }).modal('toggle', e); });
解决方案为我在bootstrap 2上工作:
$("a[data-toggle='modal']").on('click', function(e) { $_clObj = $(this); //clicked object $_mdlObj = $_clObj.attr('data-target'); //modal element id $($_mdlObj).on('shown.bs.modal',{ _clObj: $_clObj }, function (event) { $_clObj = event.data._clObj; //$_clObj is the clicked element !!! //do your stuff here... }); });
试试这个:
$('#curCarModal').on('shown.bs.modal', function () { modalOpenedby = event.relatedTarget; }); $("#curCarSelect").on('click', function(e) { $("#curCarModal").modal('toggle'); alert(modalOpenedby); });