我希望能够使用直播活动识别和处理链接元数据。所以,如果我有这样的链接:
<a href="#workorder_new" data-city="austin" data-state="tx">Click here</a>
不知何故,我需要将上面的元素(特别是数据属性)放到“live”函数中,然后调用Javascript函数,使用jQuery-mobile live元素,如:
$('[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));
}
}
所以这只是我正在玩的一些代码,现在尝试将它拼凑在一起。但我觉得我离这里不太合适。有人可以提供一些建议,让我能按预期工作吗?或者至少有一些提示让我走上正确的道路?谢谢!
答案 0 :(得分:0)
var target = $(this);
var city = target.data('city');
var state = target.data('state');
根据您的jQuery版本,您应该将.live
更改为.on
,但这是无关的。
答案 1 :(得分: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)
});