z10 stl100 software mega developer crackberry jquery events blackberry drop-down-menu xui

jquery - stl100 - Problemas con el navegador web BlackBerry Torch 9800 con eventos de Javascript



crackberry com forums (2)

El ejemplo que muestra aquí hace referencia al marco XUI no a jquery-mobile. Sería más útil si menciona cuál es el tipo de error que está recibiendo en su Firebug / browser consle y cuál es el sistema operativo de BB que está ejecutando. Mencionaste webkit, así que supongo que es BB6, si no es así, entonces estás usando BB5, que su navegador es bastante menos adecuado a la hora de manejar las funcionalidades JS completas de jquery-mobile, principalmente Ajax Navigation.

Parece que tengo un gran problema con el navegador web BlackBerry Torch 9800. Ese navegador admite HTML5 y JavaScript. El aspecto de una página web desarrollada para dispositivos móviles en HTML 5 tiene el mismo aspecto para iPhone, Android y Torch. Pero en cuanto a la funcionalidad, la Antorcha realmente apesta cuando se trata de los eventos de javascript que se disparan por alguna razón. Todos los otros navegadores y navegadores de escritorio que admiten HTML5 parecen funcionar sin problemas. Al principio, pensé que era el framework javascript de jQuery que estaba usando. Entonces, cambié a una versión mucho más ligera con XUI y todavía obtengo el mismo evento de disparos cruzados. Esto es lo que quiero decir (usando jQuery 1.4.x o jQuery 1.5 o XUI 2.0): (Lo siguiente está usando jQuery 1.5 (para documentos listos) y objetos XUI y modelos de eventos)

<!DOCTYPE html> <html> <head runat="server"> <meta charset="utf-8"> <meta name=”HandheldFriendly” content=”true” /> <meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="viewport" content="user-scalable=no, width=device-width" /> ... <script type="text/javascript" src="../Scripts/jquery-1.5.min.js"></script> <script type="text/javascript" src="../Scripts/xui-bb-2.0.0.min.js"></script> </head> <body> <form ... > <div style="width: 100%;"> <label>Dropdown List 1</label><br /> <select id="m_ddl1" style="width: 100%;"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> <option value="4">Option 4</option> </select> </div> <br /> <div style="width: 100%;"> <label>Dropdown List 2</label><br /> <select id="m_ddl2" style="width: 100%;"> <option value="a">Option A</option> <option value="b">Option B</option> <option value="c">Option C</option> <option value="d">Option D</option> </select> </div> <br /> <asp:LinkButton runat="server" id="m_goButton" CssClass="button disabled" Enabled="false" ClientIDMode="Static">Go</asp:LinkButton> <script type="text/javascript"> $(document).ready(function() { var pageRun = new PageFunctionality(); pageRun.Initialize(); }); function PageFunctionality() { this.Option1 = x$("#m_ddl1"); this.Option2 = x$("#m_ddl2"); this.Button = x$("#m_goButton"); this.Link = x$("#m_link"); } PageFunctionality.prototype.Initialize = function() { var me = this; me.Option2.attr("disabled", "disabled"); me.Option1.on("change", function() { me.EnableButton(me.Button, false); me.Option2.attr("disabled", ""); alert("DD1 Changed"); }); me.Option2.on("change", function() { me.EnableButton(me.Button, true); alert("DD2 Tapped"); }); } PageFunctionality.prototype.EnableButton = function(objButton, isEnable) { var me = this; if(isEnable) { x$(objButton) .on("click", function() { me.Option2.attr("disabled", "disabled"); me.EnableButton(me.Button, false); alert("Button Tapped"); }) .removeClass("disabled"); } else { x$(objButton) .un("click") .addClass("disabled"); } } </script> </form> </body> </html>

Lo que ocurre en ese código en BlackBerry Torch es que una vez que se selecciona la lista desplegable 1 y se realiza un cambio, al hacer clic en cualquier lugar de la pantalla o botón, se activará nuevamente el evento onchange del evento de la lista desplegable. Esto se aplica a todos los demás objetos con eventos relacionados. Además, en el BlackBerry, parece que cuando la lista desplegable está deshabilitada, se puede hacer clic en la lista para mostrar la lista.

Finalmente decidí usar el framework jQuery Mobile versión 1.0 alpha 2. Resuelve muchos de los problemas de javascript y desplegable para BlackBerry, pero luego introdujo una tonelada de otros problemas con los scripts incrustados y las redirecciones de página. Por lo tanto, me gustaría tratar de resolver este problema con el evento de lanzamiento cruzado con jQuery o XUI para su uso en el BlackBerry. Agradecemos mucho la ayuda de todos en esto.


El BB os6 funciona mejor con la versión estándar de XUI para las cosas que he probado. He usado la versión BB antes en OS6 y me pareció un tanto poco confiable.