所以这里是jQuery代码(尽可能简单):
$(document).ready(function(){
$("#test").click(function () {
alert('Works!');
});
});
和页面:
<script type="text/javascript" src="jquery-1.6.4.min.js" ></script>
<script type="text/javascript" src="test.js" ></script>
<p id="test">ss</p>
而且有趣的是,无论我在click()
之后放置什么,都行不通,但是如果我使用hide()
,append()
或其他任何内容而不是click()
,它就会正常工作。问题是什么?我正在使用SMARTY,我稍微简化了代码,因为这个页面包含在layout.tpl中但是仍然存在;为什么只有click()
函数不起作用?!
答案 0 :(得分:1)
您遇到的问题是CSS
元素的定位。
ID为menu
的div叠加在ID为strona
的div上,因为前者已赋予宽度200px
和position:absolute
。因此,单击文本不起作用,但单击文本右侧的div正在工作。
所以在这种情况下,如果你添加
`position:absolute`
到div strona
,它按预期工作。
检查更新的小提琴here。