我有一個模糊事件的簡單組合框。模糊事件目前有一個要求測試目的的警報。ExtJS 4 - 組合框模糊事件被激發兩次
的問題是,這種模糊的事件會得到如下觸發了兩次:
如果光標在此組合框和用戶按下「Tab」鍵,由於該組合框失去焦點 - >模糊事件被解僱。
一旦組合框丟失焦點,如果用戶在屏幕上的任意位置單擊鼠標,則模糊事件會再次被觸發。
有沒有反正這個模糊事件可以只觸發一次?
下面是完整的代碼我使用:
<html>
<head>
<title>Test Page</title>
<link rel="stylesheet" type="text/css" href="ext-4.0.2a/resources/css/ext-all.css">
<script type="text/javascript" src="ext-4.0.2a/bootstrap.js"></script>
<script type='text/javascript'>
Ext.onReady(function(){
Ext.define("Post", {
extend: 'Ext.data.Model',
fields: [
{name: 'id', mapping: 'post_id'},
{name: 'title', mapping: 'topic_title'},
{name: 'topicId', mapping: 'topic_id'},
{name: 'author', mapping: 'author'},
{name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'},
{name: 'excerpt', mapping: 'post_text'}
]
});
ds = Ext.create('Ext.data.Store', {
pageSize: 10,
proxy: {
type: 'jsonp',
url : 'http://www.sencha.com/forum/topics-remote.php',
reader: {
type: 'json',
root: 'topics',
totalProperty: 'totalCount'
}
},
model: 'Post'
});
panel = Ext.create('Ext.panel.Panel', {
renderTo: Ext.getBody(),
title: 'Search the Ext Forums',
width: 600,
bodyPadding: 10,
layout: 'anchor',
items: [{
xtype: 'combo',
store: ds,
displayField: 'title',
fieldLabel:'Blur Test',
listeners:{
blur:function(){
alert('1');
}
}
}, {
xtype: 'component',
style: 'margin-top:10px',
html: 'Live search requires a minimum of 4 characters.'
}]
});
});
</script>
</head>
<body>
</body>
</html>
感謝提前的幫助。 PS:我使用ExtJS版本4.0.2a並在Firefox,IE9和IE8中檢查了此行爲。他們都是兩次發射事件。但是,當在Chrome中選中時,該事件只會被觸發一次。
http://jsfiddle.net/ZkqP8/我似乎無法複製該問題。您使用的是什麼瀏覽器和ExtJS 4版本? – rwilliams
感謝職位RWilliams。我用版本和瀏覽器詳細信息更新了我的問題。另外,我查看了你和你分享的小提琴鏈接,發現模糊事件甚至沒有被解僱。你的情況只發一次嗎?對我來說,它在小提琴環節根本沒有開火。 – netemp
我知道你使用的ExtJS版本4,但它是4.0.2,4.0.2a,4.0.6等etc – rwilliams