javascript onclick
世界只因有你
世界只因有你 2017-05-19 10:20:56
0
3
584

Saya menghadapi masalah seperti itu semasa menulis JS hari ini:

function init() {
        var btn = document.getElementById('sort-btn');
        btn.onclick = btnHandle();
    }

Di atas adalah bahagian kod JS saya Perhatikan di sini, ayat kedua dalam fungsi init, btn.onclick = btnHandle(); selepas memuat semula halaman, btnHandle Fungsi dilaksanakan secara langsung.
Kemudian saya menukar kod kepada ini

function init() {
        var btn = document.getElementById('sort-btn');
        btn.onclick = btnHandle;
    }

Selepas mengalih keluar () dalam pernyataan btn.onclick = btnHandle();

Kenapa ni? btnHandle dan btnHandle()

世界只因有你
世界只因有你

membalas semua(3)
漂亮男人

btn.onclick menerima fungsi, yang bermaksud melaksanakan fungsi ini apabila btn diklik dan btnHandle() anda bermaksud melaksanakan fungsi ini, memberikan btn .onclick ialah nilai pulangannya, dan sudah tentu ia dilaksanakan terlebih dahulu. btn.onclick接受一个函数,代表当 btn 被点击的时候执行这个函数,而你的btnHandle()代表了执行这个函数,给 btn.onclick的是他的返回值,当然就先执行了。

下面的写法就代表着,当 btn.onclick 时,执行 btnHandle

Tulisan berikut bermakna apabila btn.onclick dilaksanakan, fungsi btnHandle dilaksanakan. 🎜
世界只因有你

btn.onclick = btnHandle(); Kod ini bermaksud untuk menetapkan hasil pelaksanaan kepada acara klik

PHPzhong

Ini bermakna apabila anda memuat semula halaman, fungsi init akan dilaksanakan Selepas fungsi init dilaksanakan, apabila onclick diikat, baris kod btn.onclick = btnHandle();
adalah bersamaan dengan melaksanakan kaedah btnHandle dan. memberikan nilai pulangan kaedah kepada btn.
Dan btn.onclick = btnHandle;
bersamaan dengan btn.onclick = function(){xxxxx};
Maksudnya, rujukan pembolehubah btnHandle diberikan kepada btn.onclick
Jadi apabila peristiwa klik dicetuskan, wakil btnHandle akan dilaksanakan kaedah Fungsi

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan