こんにちは私は公開モードでドロップダウンを開こうとしています。 (xyの理由から私はこのようにする必要があります)。しかし、わかっている理由では、ドロップダウンは表示されません。 Foundation MUSのバージョン(私の上司はそうそうです)はバージョン5.5.1です。あなたは私を助けることができますか?Foundation公開モードでのドロップダウン:ドロップダウンは表示されません。
Javascriptを:
ko.bindingHandlers.modal = {
init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
$(document).on('closed.fndtn.reveal', '[data-reveal]', function() {
if (this === element) {
valueAccessor()(false);
}
});
var open_binding = allBindings.get('on_modal_open') || null;
$(document).on('open.fndtn.reveal', '[data-reveal]', function() {
if (typeof open_binding === 'function') open_binding();
});
},
update: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
var newVal = valueAccessor()();
if (newVal) {
$(element).foundation('reveal', 'open');
} else {
$(element).foundation('reveal', 'close');
}
}
};
function Reveal()
{
var self=this;
self.showModal=ko.observable(false);
self.reveal=function()
{
self.showModal(true);
}
self.value=ko.observable(0);
self.duplicate=function()
{
self.value(2*self.value())
}
self.inc=function()
{
self.value(self.value()+1)
}
}
ko.applyBindings(new Reveal());
HTML(その一部は):http://codepen.io/anon/pen/YWKaxr
それが動作しますが、 '.foundation()'呼び出しは「ライブ」ではありませんし、お見逃しますので、私は、それに対してお勧めします後でDOMに追加された基底ベースの要素(例えば、ifまたはforeachのknockoutjsバインディングを介して)カスタムバインディングハンドラの中で '.foundation()'を呼び出すことはもっと安全なアプローチです。 – Jeroen