knockoutJS

时间:2015-06-04 04:24:47

标签: knockout.js

我正在制作一个示例,其中我有一个名为“lnksetting”的设置图像,点击它后,它会显示一个名为“settingsDiv”的div,列表项很少(1. mute 2. about me 3. more options)

现在我试图找出一种方法来隐藏“settingsDiv”div时将焦点移出lnksetting

我向knockoutJS的数据绑定添加了一个事件mouseout并进行了更改以将observable设置为true / false(此observable设置为settingsDiv)

但是,如果我这样做,即使尝试从settingsDiv中选择一个选项,因为我将焦点移出lnksetting,它会将设置可见性设置为falseDiv。

有人可以提出一些想法,我可以在mouseOut的lnksetting时隐藏settingsDiv,并允许从settingsDiv中选择选项

以下是我正在使用的伪代码。

<img id="lnksetting"  alt="setting" src="settings.png" data-bind="click: ChatSettingClick , event: { mouseout: ChatSettingHideHover } ">

我点击lnksetting时出现的div是

 <!-- ko if: ShowChatSettingOptions -->
<div class="settingsDiv">        
    <ul>            
        <li>mute</li>   
        <li>about me</li> 
        <li>more options</li>
    </ul>    
</div>
<!-- /ko -->

并且在ChatSettingClick中,我将ShowChatSettingOptions设置为true / false,如下所示

self.ChatSettingClick= function () {
self.ShowChatSettingOptions(!self.ShowChatSettingOptions());
}

1 个答案:

答案 0 :(得分:0)

根据@ Tomalak的评论,由于无法在触摸屏上使用,因此停止专注于鼠标时刻。