2012-05-09 74 views
1

我在Sencha list list中添加了html,onClick在Chrome上工作正常& Windows上的Safari,但點擊事件不能在iPad上工作。 請讓我知道任何建議,使例子在iPad上工作。click event to div in ipad

煎茶小提琴實施例: http://www.senchafiddle.com/#MadlC#SPOJb#psFLV

代碼:

var store = Ext.create('Ext.data.Store', { 
    fields: ['htmlRow'], 
    autoLoad: true, 
}); 

store.add([{ "htmlRow": "<div onclick='func_click1();' style='background:gray;width:70px;float:left'>Click 1</div><div onclick='func_click2()' style='background:yellow;width:70px;float:left'>Click 2</div>" }]); 
store.add([{ "htmlRow": "Edt"}]); 
store.add([{ "htmlRow": "Jamie"}]); 
store.add([{ "htmlRow": "Aaron"}]); 
store.add([{ "htmlRow": "Dave"}]); 
store.add([{ "htmlRow": "Michael"}]); 
store.add([{ "htmlRow": "Abraham"}]); 
store.add([{ "htmlRow": "Jay"}]); 

//define the application 
Ext.application({ 

    launch: function() { 

     Ext.Viewport.add({ 

      width: '100%', 
      height: '100%', 

      centered: true, 
      hideOnMaskTap: false, 

      layout: 'fit', 

      items: [{ 
       xtype: 'list', 
       disableSelection:true, 

       itemTpl: '<strong>{htmlRow}</strong>', 
       store: store 
      }] 
     }); 
    } 
}); 

function func_click1(){ 
    alert("Why This Click 1 Working on Safari and Google Chrome in Windows, But Not Working on Ipad !"); 
} 
function func_click2(){ 
    alert("Why This Click 2 Working on Safari and Google Chrome in Windows, But Not Working on Ipad !"); 
} 

回答

1

在「itemtap」事件,你可以檢查'event'參數以確定您的列表項的哪個區域被點擊。在你的情況,你可以做這樣的事情:

store.add(:

  • 1)一個ID的第一行添加到兩個div [{ 「htmlRow」:「<div id='area1' onclick='func_click1();' style='background:gray;width:70px;float:left'>Click 1</div><div id='area2' onclick='func_click2()' style='background:yellow;width:70px;float:left'>Click 2</div>"}] );

  • 2)itemtap聽衆:

    itemtap : function(list, index, target, record, event) { 
        console.log(event.target.id); 
        if (event.target.id=='area1') { 
         alert('area1 clicked!'); 
        } 
        if (event.target.id=='area1') { 
         alert('area2 clicked!'); 
        } 
    } 
    

注意,有一個在更多信息'事件'參數,如果你需要的話。

希望這會有所幫助。

+1

是的,它的工作,謝謝你... –

1

其原因是的「onClick」不能與抽頭輸入裝置(我的意思是觸摸設備)中使用,因爲它被設計成用於點擊名稱狀態。

正確(ST2)的方式得到的反饋時,一排列表被觸摸是聽你的列表中的「itemtap」事件:

... 
items: [{ 
      xtype: 'list', 
      disableSelection:true, 

      itemTpl: '<strong>{htmlRow}</strong>', 
      store: store, 
      listeners: { 
       itemtap : function(list, index, target, record, event) { 
        // your code here 
       } 
     }] 
... 
+0

謝謝,我知道代碼,但我想要兩個偵聽器(div1,div2)不是一個偵聽器。 –