jquery - जावास्क्रिप्ट इवेंट्स के साथ ब्लैकबेरी टोर्च 9 0000 वेबकिट ब्राउजर इश्यू




events blackberry (2)

मेरे पास ब्लैकबेरी टोर्च 9 0000 वेबकिट ब्राउज़र के साथ एक बड़ा मुद्दा है। वह ब्राउज़र एचटीएमएल 5 और जावास्क्रिप्ट का समर्थन करता है। एचटीएमएल 5 में मोबाइल डिवाइस के लिए विकसित एक वेब पेज की नजर आईफोन, एंड्रॉइड और मशाल के लिए ही दिखती है लेकिन कार्यक्षमता के अनुसार, मसौदा वास्तव में बेकार है जब यह जावास्क्रिप्ट घटनाओं की बात आती है जो किसी कारण से क्रॉस-फायर है। सभी अन्य मोबाइल ब्राउज़र और डेस्कटॉप ब्राउज़र्स जो HTML5 का समर्थन करते हैं, उन्हें किसी भी समस्या के बिना काम करना पड़ता है। सबसे पहले, मैंने सोचा कि यह jQuery के जावास्क्रिप्ट ढांचे का उपयोग कर रहा था। इसलिए, मैं एक्सयूआई के साथ बहुत ज्यादा संस्करण को बदल गया और मुझे अभी भी एक ही घटना क्रॉस फायरिंग मिलती है। यहां मेरा क्या मतलब है (jQuery 1.4.x या jQuery 1.5 या XUI 2.0 का उपयोग करना): (निम्नलिखित दोनों jQuery 1.5 (दस्तावेज़ तैयार करने के लिए) और XUI ऑब्जेक्ट्स और ईवेंट मॉडल का उपयोग कर रहा है

<!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>

ब्लैकबेरी मशाल में उस कोड में क्या होता है कि जब एक बार ड्रॉपडाउन सूची 1 चुना जाता है और एक बदलाव किया जाता है, तो स्क्रीन या बटन पर कहीं भी क्लिक करने से ड्रॉपडाउन सूची ईवेंट फायरिंग की दोबारा घटना में फिर से परिणाम होगा। यह सभी अन्य ऑब्जेक्ट के साथ बंटे हुए घटनाओं के लिए चला जाता है। इसके अलावा, ब्लैकबेरी पर ऐसा लगता है कि जब ड्रॉपडाउन सूची अक्षम होती है, सूची को सूची दिखाने के लिए क्लिक किया जा सकता है।

आखिरकार मैंने jQuery के मोबाइल संस्करण 1.0 अल्फा 2 फ्रेमवर्क का उपयोग करने का निर्णय लिया। यह ब्लैकबेरी के लिए कई जावास्क्रिप्ट और ड्रॉपडाउन मुद्दों को हल करता है, लेकिन फिर इसमें एम्बेडेड स्क्रिप्ट और पेज रीडायरेक्शंस के साथ एक अन्य अन्य मुद्दों की शुरुआत की गई। इसलिए, मैं ब्लैकबेरी पर उपयोग के लिए jQuery या XUI के साथ ईवेंट क्रॉस फायरिंग के साथ इस समस्या का प्रयास करना और हल करना चाहता हूं। इस पर किसी की मदद की सराहना करते हैं


उदाहरण जो आप यहां दिखा रहे हैं वह एक्सयूआई फ्रेमवर्क को संदर्भित नहीं करता है, jquery-mobile नहीं। अगर आप अपनी फायरबग / ब्राउज़र कंसले में मिल रहे हैं और किस प्रकार की बीबी ओएस चल रहे हैं तो आप किस प्रकार की त्रुटि का उल्लेख करते हैं, यह अधिक उपयोगी होगा। आपने वेबकिट का उल्लेख किया है इसलिए मुझे लगता है कि यह बीबी 6 है, अगर यह मामला नहीं है तो आप BB5 का उपयोग कर रहे हैं, जो कि जेके-मोबाइल की पूर्ण-पूर्ण जेएस कार्यक्षमताओं को मुख्य रूप से अजाक्स नेविगेशन से निपटने के लिए पर्याप्त है।


मैंने जिस चीज पर परीक्षण किया है, उसके लिए एक्सयूआई के मानक संस्करण के साथ बी बी ओएस 6 वोक बेहतर है। मैंने ओएस 6 पर बीबी संस्करण का इस्तेमाल किया है और इसे थोड़ा अविश्वसनीय बना दिया है।







xui