我有一个div
,我想在输入的聚焦/模糊上显示/隐藏它。以下是我尝试的简化版本:
<input (focus)="ShowDropDown=true;" (blur)="ShowDropDown=false;" />
<div *ngIf="ShowDropDown">
<ul>
<li (click)="...">...</li>
<li (click)="...">...</li>
<li (click)="...">...</li>
</ul>
</div>
此
div
包含要单击的元素列表。我的问题是,输入
的模糊在li
单击之前发生。
我想让事情保持简单。我不想设置所有内容的焦点,也不想单击事件来设置
ShowDropDown=false
,但我需要保持下拉div打开以进行交互。
我可以让
ShowDropDown
成为一个数字,其中聚焦加1,在div上移动鼠标再加1,模糊输入减去1,在div上移动鼠标减去1,但我认为这很容易失去同步。
有没有更简单的方法?单击后可以强制运行模糊吗?
我能想到这样一个简单的黑客
<input (focus)="ShowDropDown=true;" (blur)="ShowDropDown=false;" />
<div *ngIf="ShowDropDown">
<ul>
<li (click)="...; ShowDropDown = true">...</li>
<li (click)="...; ShowDropDown = true">...</li>
<li (click)="...; ShowDropDown = true">...</li>
</ul>
</div>
不是最优雅的解决方案,但应该有效
使现代化
听全球事件的更好方法是
@Comonent({...
host: {'(window:click)': 'clickHandler()'}
})
起初的
只要检查点击是在你的下拉列表里面还是外面:
import {DOM} from angular2/platform/common_dom;
constructor(private elementRef: ElementRef) {
DOM.getGlobalEventTarget('window')
.addEventListener('click', (event) => {
// check if event.target is a child of elementRef.nativeElement
// if not hide the dialog
});
}
我目前无法在TS中执行此操作,尽管DOM
始终未定义。
这在Dart中工作正常。
Plunker
我制造了一个问题https://github.com/angular/angular/issues/6904
我在这个问题中找到了答案:鼠标下移将发生在模糊之前,而单击将发生在模糊之后。我只是换成
<input (focus)="ShowDropDown=true;" (blur)="ShowDropDown=false;" />
<div *ngIf="ShowDropDown">
<ul>
<li (mousedown)="...">...</li>
<li (mousedown)="...">...</li>
<li (mousedown)="...">...</li>
</ul>
</div>
这为我提供了所需的事件顺序,而无需在鼠标所在的位置进行延迟或“引用计数”,也无需向DOM中的所有其他内容添加单击事件。
问题内容: 如果HTML元素样式的属性设置为,它是否仍可单击? 当该属性设置为时,该元素甚至都不是DOM树的一部分,因此这不是问题。但是我想知道一个元素是否仍然响应鼠标事件。 问题答案: 随着它 是 仍然DOM的一部分。只是没有在视口中渲染。 至于点击元素,则 不会 触发事件。
问题内容: 我希望能够滚动浏览整个页面,但不显示滚动条。 在谷歌浏览器中: 但是Mozilla Firefox和Internet Explorer似乎无法正常工作。 我也在CSS中尝试过: 那确实隐藏了滚动条,但我不能再滚动了。 有什么办法可以删除滚动条,同时仍然可以滚动整个页面? 请仅使用CSS或HTML。 问题答案: 只是测试工作正常。 JavaScript: 由于滚动条的宽度在不同的浏览器中
我希望能够滚动通过整个页面,但没有滚动条显示。 在Google Chrome中是: 但Mozilla Firefox和Internet Explorer似乎不是这样工作的。 我也在CSS中尝试过这个: 这确实隐藏了滚动条,但我不能再滚动了。 有没有一种方法,我可以删除滚动条,同时仍然能够滚动整个页面? 请使用CSS或HTML。
问题内容: 我想运行自己的内部pypi服务器,以便在组织内分发鸡蛋。 我发现了一些项目,例如: http://pypi.python.org/pypi/EggBasket/ http://plone.org/products/plonesoftwarecenter 据我了解,pypi.python.org使用名为Cheese Shop的软件。 我的问题: 为什么我不能使用奶酪店本身?(我找不到它,
有没有办法隐藏滚动条,仍然可以使用鼠标或方向键向上滚动? 有人能帮忙吗?
我想打印我的html页面到一个PDF文件,但不想滚动条显示在那里的PDF文件。和我的页面有一个可滚动的主体,所以如果我设置如下: 在最终的pdf文件中,正文将是不完整的。那么,如果有一种方法,只是阻止滚动条显示,但内容仍然是可滚动的?