[英]How to fire click event in jQuery?
我是jQuery編程的初學者。 我正在嘗試在列表點擊上觸發點擊事件,但無法正常工作。 以下是我的代碼:
<html>
<head>
<script type="text/javascript" >
<script type="text/javascript" src="jquery.js">
<link rel="stylesheet" href="style.css" />
$("ul#select li").click(function(e){
//targ = $(e.target);
if($(this).hasClass("selected"))
{
$(this).removeClass("selected");
document.location= "cambridge:clearanswer";
}
else
{
currentanswer = $(this).html();
document.location = "cambridge:checkanswer:"+currentanswer;
$("ul.select li").removeClass("selected");
$(this).addClass("selected");
}
});
function getUsed()
{
var total = "";
$(".boxWord.boxWordUsed").each(function (i){ total = total + this.getAttribute('index_no') + ":"; });
return total;
}
</script>
</script>
<link href="style.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="question" >
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b" class="select" id="select">
<li data-role="list-divider" class="selected">Overview</li>
<li data-role="list-divider" class="selected">Overview</li>
</ul>
</div>
</body>
</html>
您需要將腳本包裝在准備好的文檔中:
$(document).ready(function() {
...your click event code
});
否則,它可能會嘗試在加載元素之前附加事件。
首先,您不是在<script>
標簽中編寫代碼,而是在多個標簽之間弄亂了代碼。 然后,您可以使用$(document).ready()
。 您在代碼中還存在其他錯誤,我已為您更正了所有錯誤,我了解您是新手:)。
在此處查看有效的演示 http://jsfiddle.net/DtHJY/1/
這是更正的代碼:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<link rel="stylesheet" href="style.css" />
<script type="text/javascript">
$(document).ready(function(){
$("ul#select li").click(function(e){
alert('test');
//targ = $(e.target);
if($(this).hasClass("selected"))
{
$(this).removeClass("selected");
document.location= "cambridge:clearanswer";
}
else
{
currentanswer = $(this).html();
document.location = "cambridge:checkanswer:"+currentanswer;
$("ul.select li").removeClass("selected");
$(this).addClass("selected");
}
});
function getUsed()
{
var total = "";
$(".boxWord.boxWordUsed").each(function (i){ total = total + this.getAttribute('index_no') + ":"; });
return total;
}
});
</script>
<link href="style.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="question" >
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b" class="select" id="select">
<li data-role="list-divider" class="selected">Overview</li>
<li data-role="list-divider" class="selected">Overview</li>
</ul>
</div>
</body>
</html>
嘗試
document.location.href = 'link'
代替
也不要忘記將代碼包裝到
$(function(){
//your code
});
只要將事件綁定程序包裝在$(document).ready(function() { ... });
那么它將完美地工作。
看一下這個演示: http : //jsfiddle.net/E5BZ9/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.