我正在尝试使用relatedTarget
事件的属性show.bs.modal
获取点击的元素。但它总是变得不确定。
这就是我所拥有的:
$("#curCarSelect").on('click', function(e) {
$("#curCarModal").on('show.bs.modal', function(event) {
modalOpenedby = event.relatedTarget;
alert(modalOpenedby);
}).modal('toggle');
});
答案 0 :(得分:36)
尝试:
$("#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
})
答案 1 :(得分:1)
如果由点击引起,则点击的元素可用作活动的
relatedTarget
属性。
但你只是打电话给.modal('toggle')
。 这不涉及任何点击事件,因此在您的案例中未定义relatedTarget
原因。
答案 2 :(得分:1)
如果你需要在动态打开的模态中使用event.relatedTarget
,那么你可以将目标作为模态函数中的第二个参数传递。
$("#curCarSelect").on('click', function(e) {
$("#curCarModal").modal('toggle', $("#curCarSelect"));
});
答案 3 :(得分:0)
我让它对我有用。试试这个:
$("#curCarSelect").on('click', function(e) {
$("#curCarModal").on('show.bs.modal', function(event) {
modalOpenedby = event.relatedTarget;
alert(modalOpenedby);
}).modal('toggle', e);
});
答案 4 :(得分:-1)
试试这个:
$('#curCarModal').on('shown.bs.modal', function () {
modalOpenedby = event.relatedTarget;
});
$("#curCarSelect").on('click', function(e) {
$("#curCarModal").modal('toggle');
alert(modalOpenedby);
});