ここで見つけたドロップダウンがあります:http://tympanus.net/codrops/2012/10/04/custom-drop-down-list-styling/
HTML:
<ul class="dropdown" tabindex="1">
<li><a href="/user/profile">profile</a></li>
<li><a href="/user/logout">log out</a></li>
</ul>
js のこの時点で:
function DropDown(el) {
this.dd = el;
this.placeholder = this.dd.children('span');
this.opts = this.dd.find('ul.dropdown > li');
this.val = '';
this.index = -1;
this.initEvents();
}
DropDown.prototype = {
initEvents : function() {
var obj = this;
obj.dd.on('click', function(event){
$(this).toggleClass('active');
return false;
});
obj.opts.on('click',function(){
var opt = $(this);
obj.val = opt.text();
obj.index = opt.index();
obj.placeholder.text('profile: ' + obj.val);
});
},
getValue : function() {
return this.val;
},
getIndex : function() {
return this.index;
}
}
$(function() {
var dd = new DropDown( $('#dd') );
$(document).click(function() {
// all dropdowns
$('.wrapper-dropdown-1').removeClass('active');
});
});
ドロップダウン項目が選択されている場合、テキストは、希望するページに移動するのではなく、親の ul 選択に配置されます。この単純なドロップダウンですべてが正常に機能します。リンクを選択したテキストに置き換える部分を無効にするだけです。アンカータグが通常どおり機能するようにしたいだけです。
エラー メッセージ:
try
84 {
85 if ( ! class_exists($prefix.$controller))
86 {
87 throw new HTTP_Exception_404('The requested URL :uri was not found on this server.',
88 array(':uri' => $request->uri()));
89 }
90
91 // Load the controller using reflection
92 $class = new ReflectionClass($prefix.$controller);