我对jquery mobile有一个非常奇怪的问题:
我使用表并隐藏行:
$('tr ...').hide();
在表格行中,有定义的按钮,例如:button1。
首先我打电话给$('#button1')。隐藏然后$('#button1')。显示使行可见,但按钮不在,因此我打电话:
$('#button1').button();
现在最大的问题是,我无法再次附加任何点击事件,之前的事件已经消失。
我尝试了以下策略附加事件:
$("#button1").click(...); bzw. $("#button1").live('click', ...);
$(document).ready("#button1").click(function() {
alert(1);
});
$(document).ready("#button1").live('click', function() {
alert(1);
});
第一个和第二个变体都不起作用。最后两个变种是有效的,但我没有得到正确的发送者对象作为事件参数(即:$(this).attr(' id'))。
你知道这个问题的解决方案,我真的很感激一些帮助。
提前致谢, 马丁
答案 0 :(得分:0)
不要在jQuery Mobile中使用$(document).ready()!请查看DOCS以获取解释!
也许这会对你有所帮助
$('#page_id_blahblah').live('pageshow',function(){
//do things with button show hide etc..
//then append event to button after show, or before, or when you want
var some_variable = 'button1';
$('#button1').click(function(){
alert("Button pressed: " + some_variable);
});
});
答案 1 :(得分:0)
$(document).live('pagebeforeshow', ...);
,所以一切正常:)