如何找出在sammyjs中发起事件的元素?

时间:2012-07-10 00:33:28

标签: javascript sammy.js

假设我有以下标记

<ul class="app-nav">
  <li><a href="#!/testing">Link to testing route</a>
</ul>
...
<a href="#!/testing">Other link to testing route</a>

使用jQuery

$('a').click(function() {
   console.log( $(this) ); //the event sender and can be 'a' or 'ul>li>a'
});

使用sammy.js

this.get('#!/testing', function(context) {
  //how I can get the event sender?
});

2 个答案:

答案 0 :(得分:0)

使用jQuery将您的请求绑定到文档并检查目标属性:

$(document).on('click', function( e ){

    var sender = e.target; // <-- Your event initiator

});

答案 1 :(得分:0)

根据文档,Event Context似乎是您正在寻找的。

  

this.target

     

包含此上下文的事件源自的DOM元素。对于post,put和del路由,这是触发路由的表单元素。

因此,对于帖子请求,您可以从提交的表单中获取序列化对象。

this.post('#:id', function() {
  // this.target is the DOM form element that triggered the route
  console.log($(this.target).serialize());
});