⑴ 如何讓JS函數只執行一次
<div onMouseUp="doS()" ></div>
<script>
//定義一個全局變數 是不首次,開始時是true,當你onMouseUp執行後變為false
var isFirst = true;
function doS(){
if(isFirst){
doSth...//這里寫你要做什麼
isFirst = false;
}
}
</script>
⑵ 怎樣使js中的onclick事件只觸發一次,就是我點擊了一次,再次點擊的時候不讓其再觸發
解決的方法:
1、用jQuery的方式
jQuery專門為此功能提供了一個函數one。這樣寫就能讓click這個事件只執行一次。
$("#btn3").one('click',function(){
alert('jQuey的one函數,第1次點擊');
});
(2)js中如何讓方法只用一次擴展閱讀:
jQuery的模塊可以分為3部分:入口模塊、底層支持模塊和功能模塊。
在構造jQuery對象模塊中,如果在調用構造函數jQuery()創建jQuery對象時傳入了選擇器表達式,則會調用選擇器Sizzle遍歷文檔,查找與之匹配的DOM元素,並創建一個包含了這些DOM元素引用的jQuery對象。
瀏覽器功能測試模塊提供了針對不同瀏覽器功能和bug的測試結果,其他模塊則基於這些測試結果來解決瀏覽器之間的兼容性問題。
在底層支持模塊中,回調函數列表模塊用於增強對回調函數的管理,支持添加、移除、觸發、鎖定、禁用回調函數等功能;
非同步隊列模塊用於解耦非同步任務和回調函數,它在回調函數列表的基礎上為回調函數增加了狀態,並提供了多個回調函數列表,支持傳播任意同步或非同步回調函數的成功或失敗狀態;
數據緩存模塊用於為DOM元素和Javascript對象附加任意類型的數據;隊列模塊用於管理一組函數,支持函數的入隊和出隊操作,並確保函數按順序執行,它基於數據緩存模塊實現。