これが私のhtmlコード構造です:
<dl id="J_tab">
<dt>
<a href="#tab1">tab1</a><a href="#tab2">tab2</a><a href="#tab3">tab3</a>
</dt>
<dd id="tab1">
..
</dd>
<dd id="tab2">
...
</dd>
<dd id="tab3">
..
</dd>
</dl>
Javascriptコード:
var tab = function(id,anchorContainer,curClass){
this.curClass = curClass || 'current';
this.tabContainer = document.getElementById(id);
this.anchorContainer = this.tabContainer.getElementsByTagName(anchorContainer)[0];
this.links = this.anchorContainer.getElementsByTagName('a');
this.init();
};
tab.prototype = {
constructor:tab,
init: function(){
var container = this.tabContainer;
container.onclick = function(event){
var type = this.checkType(event);
if(type == 'onclick'){
//do this...
}else if(type == 'onmouseover'){
//do this....
}else{
//do nothing...
}
}
},
show: function(){
alert(123);
},
hide: function(){
alert(456);
},
checkType: function(event){
var event = event || window.event;
return event.type;
}
}
var tab = new tab('J_tab','dt');
イベントタイプをチェックするときに問題が発生したため、続行しません。エラーにより、タイプが定義されていません。コードを使用してイベントタイプをチェックするにはどうすればよいですか?
this.checkType()は以下のようにできますか?
if(event=="click" || event==null){
container.onclick=function(){
}
}else if(event=="mouseover"){
container.onmouseover=function(){
}
}