簡體   English   中英

Bootstrap modal relatedTarget未定義

[英]Bootstrap modal relatedTarget is undefined

我試圖讓使用屬性的點擊的元素relatedTarget的的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);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM