0

我希望能够识别和处理链接元数据与实时事件。因此,如果我有这样的链接:

<a href="#workorder_new" data-city="austin" data-state="tx">Click here</a>

不知何故,我需要将上述元素(特别是数据属性)放入“live”函数中,然后使用 jQuery-mobile 实时元素调用 Javascript 函数,例如:

$('[href=#workorder_new]').live('click', function()
{
  var target        = $(this);
  var workorder_new = new workorder_new_controller(target.data);

  $('#workorder_new').bind('pagebeforechange',function(event, ui)
  {
    workorder_new.before();
  });

  $('#workorder_new').bind('pageshow',function(event, ui)
  {
    // var page = event.target.id;
    workorder_new.after();
  });
});

function workorder_new_controller(data)
{
  var city  = data.city;
  var state = data.state;

  this.before = function(){
    // console.log(data);
  }
  this.after  = function(){
    // console.log(data);
    var today    = new Date();
    var tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000));
    $('#workorder_new_form [name=due_date]').val(readable_date(tomorrow));
  }
}

所以这只是我现在正在尝试拼凑的一些代码。但我想我在这里偏离了方向。有人可以就我如何按预期工作提供一些建议吗?或者至少有一些提示可以让我走上正确的道路?谢谢!

4

2 回答 2

0

弄清楚了:

var params = {};

$('a').live('click', function(event)
{
  $.each($(event.target)[0].attributes, function(key, value){
    params[value.name] = value.value;
  });
});

$('div[data-role="page"]').live('pageshow',function(event, ui)
{
 console.log(params)
});

来源: http: //moorberry.net/blog/link-attributes-jquery-mobile/

于 2013-02-07T01:14:44.413 回答
0
var target = $(this);
var city = target.data('city');
var state = target.data('state');

根据您的 jQuery 版本,您应该更改.live.on,但这无关紧要。

于 2013-02-05T02:25:11.977 回答