2017-03-01 61 views
-1

這裏是我的代碼:

$("span.cls").on("click", function(){ 
 
    $("#dialog").html(""); 
 
});
span{ 
 
    border: 1px solid; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<span class="cls">remove content below</span> 
 

 
<div id="dialog"><p>something</p></div>

是否有可能使上述而不在同一個版本的jQuery的變化的工作代碼?

+0

到底是什麼問題?發生什麼事而不是排空div? – eeetee

+1

錯誤是''Uncaught TypeError:$(...)。on不是一個函數「',與'$'沒有任何關係不被識別 – j08691

回答

2

$被公認爲很好。 由於錯誤提示問題是該版本上不存在.on方法。

使用click直接

$("span.cls").click(function(){ 
    $("#dialog").html(""); 
}); 

甚至更​​好(應該優先考慮真正)升級版本(如1.4.2發佈於2010 2月)。

3

在jQuery 1.7版本中添加了jQuery .on()函數。

您應該改用.click()函數,該函數是在jQuery 1.0版中添加的。請注意,在版本1.4.3之前,您無法使用此函數指定eventData。

對於除單擊有類似的功能,所有這些都從1.0版開始存在其他事件:

$("span.cls").click(function(){ 
 
    $("#dialog").html(""); 
 
});
span{ 
 
    border: 1px solid; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<span class="cls">remove content below</span> 
 

 
<div id="dialog"><p>something</p></div>

您也可以選擇使用.live()通用的事件綁定,指定事件類型爲字符串就像.on()功能。 .live()函數在jQuery 1.7版中已被棄用,支持.on(),但由於您使用的是舊版本的jQuery,因此它仍然適用。

$("span.cls").live("click", function(){ 
 
    $("#dialog").html(""); 
 
});
span{ 
 
    border: 1px solid; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<span class="cls">remove content below</span> 
 

 
<div id="dialog"><p>something</p></div>

相關問題