无法让它工作(我可以不从列表标签内部调用JS吗? 谢谢!!!
<head>
<script type="text/javascript">
// Popup window code
function newPopup(url) {
popupWindow = window.open(
url,'popUpWindow','height=300,width=400,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
</script>
</head>
<body>
<ul>
<li><a href="helpingkidswhostruggle.html" target="popup" onclick="window.open('helpingkidswhostruggle.html','name','width=600,height=450')">Helping Kids Who Struggle</a>
</li>
</ul>
..etc
,,but works fine when not in <li>
Thanks!!!
我建议您为此解决方案使用 jquery 库。为了使用jquery,你必须使用CDN或本地包含jquery文件。我使用 CDN。
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
您可以设置 jquery 事件侦听器,以便在单击列表项后执行事件。例如;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>List Click</title>
<!-- Include meta tag to ensure proper rendering and touch zooming -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Include the jQuery library -->
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<ul id="group">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
</ul>
<script>
$( "#group li" ).bind( "click", function() {
var selected_item = $(this).attr('id');
if(selected_item == "one"){
window.open('helpingkidswhostruggle.html','name','width=600,height=450');
}
});
</script>
</body>
</html>
所以解释代码;
您必须将 id 属性分配给ul
和li
标签。
$( "#group li" ).bind( "click", function() {
代码查找 ID 为group
的元素中带有li
标记的列表项,并为它们分配一个单击侦听器,以便在单击它们时调用和执行函数。
var selected_item = $(this).attr('id');
代码使用attr('id')
方法获取单击的列表项的 id,并将其分配给变量selected_item
。因此,现在这是为列表项分配id
的用途,以便您可以识别它们。
当然,此if(selected_item == "one"){
代码会检查单击了哪个项目以及要执行的操作(如果有)。你可以试试这个,看看什么对你有用。
不要忘记包含jquery文件,否则代码将无法工作。
尝试一下,让我知道它是否有帮助或您是否发现了问题