Javascript 物化获取模态触发器元素

Javascript 物化获取模态触发器元素,javascript,jquery,materialize,Javascript,Jquery,Materialize,如何获取触发物化模式的元素 鉴于此代码: <a class="trigger-modal" href="#modal1" data-id="1">Item 1</a> <a class="trigger-modal" href="#modal1" data-id="2">Item 2</a> <a class="trigger-modal" href="#modal1" data-id="3">Item 3</a> <

如何获取触发物化模式的元素

鉴于此代码:

<a class="trigger-modal" href="#modal1" data-id="1">Item 1</a>
<a class="trigger-modal" href="#modal1" data-id="2">Item 2</a>
<a class="trigger-modal" href="#modal1" data-id="3">Item 3</a>

<div id="modal1" class="modal modal-fixed-footer">
  <div class="modal-content">
    <h4>Edit Model</h4>
    <form> ... </form>
  </div>
  <div class="modal-footer">
    <a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat ">Close</a>
  </div>
</div>

<script type="text/javascript">
$(function () {
  $('.modal-trigger').leanModal({
    dismissible: false,
    ready() { console.log('Ready', this, arguments); },
    complete() { console.log('Closed', this, arguments); }
  });
});
</script>

编辑模型
... 
$(函数(){
$('.modal触发器').leanmodel({
可驳回:错误,
ready(){console.log('ready',this,arguments);},
complete(){console.log('Closed',this,arguments);}
});
});

如何获取触发模态的锚元素?无论是
ready
还是
complete
都只将
设置为模式选项,并且
参数
为空。

从Materialize modal docs中,似乎没有其他内容传递到ready或complete回调中,但是您可以通过添加代码来记录上次单击的锚定来逃避

可通过添加以下内容来完成:

 onclick="window.lastAnchorClicked = this;"

你的锚。然后使用
窗口。LastAnchor单击
访问上次单击的锚定。

使用JavaScript
getElementsByTagName
获取所有锚定<如果锚共享一个类,则code>getElementsByClassName
也可以工作。将
href=“javascript:void(0)”
添加到您的锚

然后在单击处理程序中,使用console.log(event.target)或(e.target)

var doc=单据;
var archors=doc.getElementsByTagName('a');
如果(锚){
对于(变量i=0;i
以下是我的方法:

$('.modal').modal({
ready: function(modal, trigger) { // Callback for Modal open. Modal and trigger parameters available.

   console.log(trigger.prevObject[0].id);

  },
});
这将打印触发模式显示的对象的id

我希望任何需要这个的人都会觉得这个有用

$('.modal').modal({
ready: function(modal, trigger) { // Callback for Modal open. Modal and trigger parameters available.

   console.log(trigger.prevObject[0].id);

  },
});