Skip to main content
 首页 » 编程设计

jquery button() 单击后退按钮时会导致白屏

2025年12月25日36tuyile006

我正在通过 AJAX 更新带有一些按钮的列表。我的功能一般工作正常,但一段时间后会产生白屏。当我单击按钮并使用后退按钮并重复几次时,就会发生这种情况。当我使用 AJAX 刷新运行时提供的大约 10 个按钮时,单击几下后它会崩溃。当我刷新假设 20 个按钮时,它会在我第一次点击后退按钮时立即崩溃。应用程序崩溃时,LogCat 什么也没说。我尝试用 livequery 调用替换 button() 调用,该调用有效但一段时间后会产生相同的崩溃。

我正在开发一个原生应用程序。如果我将它作为 Firefox 中的网络应用程序进行尝试,它可以完美运行而不会崩溃。

我不确定我的问题是否与可用内存有关。我正在使用三星 Galaxy Ace 进行测试,它大约有。剩余 50 MB 内存和 1 GB SD 卡。

$(".warenkorb_class").click(function(e) { 
      e.stopImmediatePropagation(); 
      e.preventDefault(); 
      $.post("http://mydomain/backend.php",{              
            action: "warenkorb", kunden_id: $local_kunden_id }, 
            function(data) { 
        $.mobile.changePage("#warenkorb"); 
        $("#warenliste").html(data); 
            $("#warenliste").listview("refresh"); 
            $(".warenliste_button_class").button(); 
        }, "html"); 
      }); 

我是android开发的新手,我已经为这个问题苦苦挣扎了几天,如果有人能帮助我,我会很高兴。

谢谢并恭祝安康,
弗洛里安

编辑:
这是 backend.php 中创建按钮代码的部分:
echo"<tr>"; 
echo utf8_encode("<td><a class='delete_button' href='#warenkorb' data-role='button' data-icon='delete' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='1_$bestellungen_id'>Position löschen</a></td>"); 
echo utf8_encode("<td><a class='minus_button' href='#warenkorb' data-role='button' data-icon='minus' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='2_$bestellungen_id'>eins weniger</a></td>"); 
echo"<td><a class='warenliste_button' href='#warenkorb' id='3_$bestellungen_id' data-mini='true'>$bestellungen_anzahl</a></td>"; 
echo utf8_encode("<td><a class='plus_button' href='#warenkorb' data-role='button' data-icon='plus' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='4_$bestellungen_id'>eins mehr</a></td>"); 
echo utf8_encode("<td><a class='warenliste_button' href='#warenkorb' id='5_$bestellungen_id' data-mini='true' data-inline='true'>$produkte_bezeichnung</a></td>"); 
echo "</tr>"; 

请您参考如下方法:

我会看看优化您的代码,尝试删除类选择器并用 id 选择器替换它们,这在您的选择器中不可能更具体,即做 button.warenliste_button_class。

我会对其进行排序,因为崩溃可能是由于脚本在执行时内存不足。还检查 firebug/console 以检查并查看正在发生的事情,检查长时间运行的脚本,发布的大量数据等。

查看此链接以获取更多优化提示

http://www.archer-group.com/2011/technology/jquery-javascript-optimization

如果没有更多信息,例如正在运行 jquery 的功能和数据,我没有更多建议。