我需要運行功能當複選框從未選中變爲已選中。檢查複選框的轉向時間
因此,我使用.change
事件來觸發所有事件,但在運行該函數之前使用.prop
進行檢查,以確保該複選框實際上已選中或未選中,對嗎?
<form>
<input class="target" type="checkbox" value="Field 1">
</form>
$(".target").change(function(){
if(this.prop("checked", true)){
alert("this is checked");
} else {
alert("this is not checked");
}
});
上面的代碼不工作,我不知道爲什麼...
我選擇了.target
,它是調用.change
事件偵聽器。
.target
是this
,因爲它調用了.change
方法。
所以函數說「當.target
改變時,檢查.target
屬性是否爲」checked「,如果是,則爲alert,否則,提醒其他人。
在jQuery的.change
文檔中,它表示「更改事件發送到元素時,其值更改。」 值他們講的是不是的.val
的元素吧?完全不同的「價值」。因爲.target
的.val
永遠不會改變,因爲它現在是硬編碼的。
與使用'.is相比,使用'.prop(「checked」=== true) ( 「:勾選」)'?在附註中,'''在這種情況下做了什麼?我知道':'用於特定的jQuery **選擇器**,基本上是一個jQuery擴展ie。由jQuery自己定義的東西。但':checked'不是選擇器,它不會選擇任何內容,那麼冒號是什麼意思? – fuzzybabybunny
我似乎無法找到關於僞選擇器利弊的文檔? http://api.jquery.com/checked-selector/ – fuzzybabybunny
哦,是的,我認爲使用'.prop'需要jQuery來搜索所選DOM **對象**的所有屬性。它需要等待瀏覽器創建DOM對象,然後需要搜索DOM對象的'checked'屬性並返回它是否找到它。聽起來正確嗎? – fuzzybabybunny