第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 onclick = function() 在文檔就緒中不起作用?

為什么 onclick = function() 在文檔就緒中不起作用?

縹緲止盈 2023-12-04 17:15:09
查看何時應(yīng)該使用 jQuery 的 document.ready 函數(shù)?表單提交按鈕 onclick 不會調(diào)用我的 JS 函數(shù),給人一種在代碼中使用應(yīng)該沒有壞處的感覺$document.ready(function(){}),而是有好處的。但是,當(dāng)我在按鈕的方法中輸入函數(shù)時onclick,語句內(nèi)的函數(shù)ready()不會被執(zhí)行。為什么這樣?例如,此代碼不會發(fā)出警報$(document).ready(function(){  function f(){  alert("alert");  }})/*function f(){  alert("alert");  } */<button onclick="f()">My Button</button>我知道如果我使用 jQuery 選擇器來使其工作,它就會 ( $("button").click(f))。但為什么這個方法會失敗呢?
查看完整描述

3 回答

?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個贊

這是一個范圍問題 - 在函數(shù)內(nèi)部聲明的函數(shù)在外部函數(shù)之外無法訪問,就像在函數(shù)內(nèi)部聲明的變量一樣:


(function(){

    var a = 'hello';

    function b () {

        console.log(a);

    }

})();


a;   // syntax error - a is undefined

b(); // syntax error - b is undefined

您可以通過將函數(shù)分配給全局變量來使其工作:


var f;


$(document).ready(function(){

  f = function(){

    alert("alert");

  }

})


查看完整回答
反對 回復(fù) 2023-12-04
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個贊

每當(dāng)你聲明一個函數(shù)時,你就會創(chuàng)建一個作用域。在該范圍內(nèi)聲明的任何內(nèi)容都無法在該范圍之外訪問。


$(document).ready(function(){

  // f is only accessible to other code declared in this function.

  function f(){

    alert("alert");

  }

})

使用 jQuery 執(zhí)行此操作的推薦方法是在 jQuery 就緒函數(shù)中分配單擊處理函數(shù)。


HTML:


<button id="my-button-id">My Button</button>    

JavaScript:


$(document).ready(function(){

  // f is only accessible to other code declared in this function.

  function f(){

    alert("alert");

  }


  // Assign onclick here

  $('#my-button-id').on('click', f)

})


查看完整回答
反對 回復(fù) 2023-12-04
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個贊

$(document).ready() 在所有 html 加載完成后被調(diào)用。由于您在 html 中調(diào)用“f()”函數(shù),因此它會在“$(document).ready()”中的任何內(nèi)容運(yùn)行之前調(diào)用“f()”,這意味著“f()”沒有定義。

現(xiàn)在通常甚至不使用“$(document).ready()”,只要您在所有 html 末尾加載該 jQuery 即可避免長時間加載。這將允許您從 html 中調(diào)用“f()”,并且在 html 之后仍然加載 jQuery 的其余部分。


查看完整回答
反對 回復(fù) 2023-12-04
  • 3 回答
  • 0 關(guān)注
  • 213 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號