點(diǎn)擊事件重復(fù)請(qǐng)求

引子

當(dāng)我們針對(duì)某個(gè)按鈕綁定點(diǎn)擊事件后,就可以隨時(shí)通過點(diǎn)擊鼠標(biāo)來觸發(fā)按鈕的點(diǎn)擊事件捺典,如:

var num = 1;
$('ele').on('click',function(){
    num++;
    //執(zhí)行的業(yè)務(wù)邏輯
})

這樣num值會(huì)不斷增加娇斩,依賴于num值的業(yè)務(wù)邏輯就會(huì)出錯(cuò)茅主;
一般出現(xiàn)的場(chǎng)景有:

  1. ajax請(qǐng)求;
  2. 問卷答題

接下來我們根據(jù)這些場(chǎng)景來分析下;

場(chǎng)景分析

1. ajax提交

<script async src="http://jsrun.net/ejZKp/embed/all/light/"></script>

當(dāng)用戶短時(shí)間內(nèi)重復(fù)點(diǎn)擊登錄按鈕時(shí),會(huì)觸發(fā)多次的表單提交;
解決方案: 當(dāng)點(diǎn)擊提交按鈕后,給按鈕添加disabled屬性,事件完成后再removeAttr('disabled')

<script async src="http://jsrun.net/tjZKp/embed/all/light/"></script>

2. 問卷答題

<script async src="http://jsrun.net/RjZKp/embed/all/light/"></script>

當(dāng)選擇一個(gè)答案時(shí),重復(fù)點(diǎn)擊,機(jī)會(huì)造成num重復(fù)增加,可能會(huì)造成中間某些選題未答直接跳到后面的答題部念,而添加一個(gè)name數(shù)組判斷是否重復(fù)就可以避免該問題;

<script async src="http://jsrun.net/rjZKp/embed/all/light/"></script>

總結(jié)

解決重復(fù)點(diǎn)擊問題可以歸結(jié)為標(biāo)記作用位點(diǎn)弃酌,有兩種方法:

  1. 點(diǎn)擊觸發(fā)請(qǐng)求后,作用點(diǎn)設(shè)為disabled屬性儡炼,請(qǐng)求(或者包括請(qǐng)求后具體的業(yè)務(wù)流程處理)后妓湘,移除disabled屬性;
  2. 記錄作用點(diǎn)乌询,判斷作用點(diǎn)是否重復(fù)榜贴,重復(fù)則直接return

其實(shí)ajax還有一個(gè)更好的方法來避免重復(fù)提交,我們知道js是單線程執(zhí)行事件的,所以可以根據(jù)此原理定義事件序列,重新封裝ajax方法來避免妹田。

詳細(xì)見我的個(gè)人博客:鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唬党,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鬼佣,更是在濱河造成了極大的恐慌驶拱,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沮趣,死亡現(xiàn)場(chǎng)離奇詭異屯烦,居然都是意外死亡坷随,警方通過查閱死者的電腦和手機(jī)房铭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來温眉,“玉大人缸匪,你說我怎么就攤上這事±嘁纾” “怎么了凌蔬?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵露懒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我砂心,道長(zhǎng)懈词,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任辩诞,我火速辦了婚禮坎弯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘译暂。我一直安慰自己抠忘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布外永。 她就那樣靜靜地躺著崎脉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伯顶。 梳的紋絲不亂的頭發(fā)上囚灼,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音砾淌,去河邊找鬼啦撮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛汪厨,可吹牛的內(nèi)容都是我干的赃春。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼劫乱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼织中!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起衷戈,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤狭吼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后殖妇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刁笙,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年谦趣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疲吸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡前鹅,死狀恐怖摘悴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舰绘,我是刑警寧澤蹂喻,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布葱椭,位于F島的核電站,受9級(jí)特大地震影響口四,放射性物質(zhì)發(fā)生泄漏孵运。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一蔓彩、第九天 我趴在偏房一處隱蔽的房頂上張望掐松。 院中可真熱鬧,春花似錦粪小、人聲如沸大磺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杠愧。三九已至,卻和暖如春逞壁,著一層夾襖步出監(jiān)牢的瞬間流济,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工腌闯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绳瘟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓姿骏,卻偏偏與公主長(zhǎng)得像糖声,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子分瘦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容