onClick事件在Firefox中不起作用

时间:2014-04-06 00:00:06

标签: javascript firefox extjs onclick

我有一个function previewPost用于onClick事件但它在Firefox浏览器上不起作用..即使我在同一个事件中调用单个alert()也不起作用。

<script type="text/javascript">

 function previewPost() {
          Ext.define('WindowPost', {
              extend: 'Ext.window.Window',

              requires: [
                  'Ext.form.field.Text'
              ],

              height: 250,
              width: 400,
              title: 'My Window',

              initComponent: function() {
                  var me = this;

                  Ext.applyIf(me, {
                      items: [
                          {
                              xtype: 'textfield',
                              fieldLabel: 'ID',
                              value: this.algo
                          }
                      ]
                  });

                  me.callParent(arguments);
              }

          });
          var win = Ext.create('WindowPost',{"algo": "input"});
          win.show();
      }

       Ext.onReady(function(){

         Ext.define('DataView', {
              extend: 'Ext.view.View',
              alias: 'widget.dataview',

              requires: [
                  'Ext.XTemplate'
              ],

              id:'dataView2',
              height: 25,
              width: 1800,
              //border:true,
              emptyText: '',
              itemSelector: 'div.ticket-wrapper2',
              store:'storee2',
              initComponent: function() {
                  var me = this;

                  Ext.applyIf(me, {
                      itemTpl: [
                          '<tpl>',
                          '     <div class="ticket-wrapper2" onclick="previewPost()" >{area_comun.nombre}</div> ',
                          '</tpl>'


                      ]
                  });

                  me.callParent(arguments);
              }

          });
          var dta = Ext.create('DataView');
          dta.render('content');

});
 </script>

这是我调用函数的地方

itemTpl: [
            '<tpl>',
            '     <div class="ticket-wrapper2" onclick="previewPost()" >{area_comun.nombre}</div> ',
                          '</tpl>'


                      ]

1 个答案:

答案 0 :(得分:0)

onclick HTML属性非常陈旧,不应该依赖它。相反,给你的div一个id:

<div id="wrap_1" class="ticket-wrapper2">

然后添加一个click事件监听器,包含在页面加载事件监听器中(因此无论你放在哪里都没关系),在你的javascript中的某个地方:

document.addEventListener('DOMContentLoaded', function(){
    document.getElementById('wrap_1').addEventListener('click', previewPost);
});

这适用于每个浏览器返回IE 9。