我是学徒,从未使用过Javascript。 我的Javascript函数调用弹出窗口。这适用于第一个按钮,但不适用于以下所有,因为应用程序不断添加按钮(相同的类)我不能硬编码。我想这将是JQuery的解决方案...... (“打开”)和(“openPopupUseExisting”)是两个按钮。
<script type="text/javascript">
window.onload = function () {
document.getElementById('blackout').addEventListener('click', function () {
document.getElementById('popup').className = "";
document.getElementById('blackout').className = "";
document.getElementById('popupUseExisting').className = "";
}, false);
document.getElementsByClassName("open")[0].addEventListener('click', function () {
document.getElementById('popup').className = 'visable';
document.getElementById('blackout').className = 'visable';
}, false);
document.getElementsByClassName("openPopupUseExisting")[0].addEventListener('click', function () {
document.getElementById('popupUseExisting').className = 'visable';
document.getElementById('blackout').className = 'visable';
}, false);
document.getElementsByClassName("close")[0].addEventListener('click', function () {
document.getElementById('popup').className = "";
document.getElementById('blackout').className = "";
document.getElementById('popupUseExisting').className = "";
}, false);
};
</script>
答案 0 :(得分:2)
Quiz
看到document.getElementsByClassName("close")[0]
?
0
返回一个类似数组的对象。你得到了第一个项目。
使用getElementsByClassName
循环遍历它。
答案 1 :(得分:0)
朋友,您不需要添加整个库,只是为了绑定动态添加的元素。
您可以绑定$url = $this->container->get('router')->generate('homepage');
$response = new RedirectResponse($url);
$response->setPrivate();
$response->setMaxAge(0);
$response->setSharedMaxAge(0);
$response->headers->addCacheControlDirective('must-revalidate', true);
$response->headers->addCacheControlDirective('no-store', true);
的click事件,然后检查点击的元素是否是您想要的元素。它阻止动态添加的元素被解除绑定,因为它针对整个文档。
document
如果您真的想使用jQuery,那么它很简单,使用document.addEventListener('click', function (e) {
if (e.target.classList.contains('blackout')) {
// your fancy magic with .blackout
} else if (e.target.classList.contains('open')) {
// your fancy magic with .open
}
}, false);
方法
on