JavaScript-ni foydalanib, onclick qanday o'zgartirish mumkin?

JavaScript-ni foydalanib, onclick qanday o'zgartirish mumkin?

https://jsfiddle.net/749rt0m7/1/

Men bu kodni ishlatishga harakat qildim, lekin ishlamayapman. Qanday qilaman?

    edit
    <script>
        document.getElementById('xx').onclick = "test_fn(111,222)";
    </script>
1
Inline attributiga bitta argumentni kiritib, u yerda vergul bilan bir qatorda o'tadi, ammo o'zgaruvchan versiyasi sizning raqamlaringiz bo'lgan ikkita argumentdan iborat.
qo'shib qo'ydi muallif nnnnnn, manba

6 javoblar

Bu yerda bir nechta narsa bor.

Birinchidan test_fn() sizning jsfiddle funktsiyangiz emas. Siz uni chaqirishingiz uchun uni aniqlashingiz kerak.

Ikkinchidan, onclick xususiyatini mag'lubiyatga emas, funktsiya sifatida belgilashga majbur qilasiz. Quyidagi kodni ishlatib vazifani bajarishingiz kerak.

document.getElementById('xx').onclick = function() { test_fn(111,222) };

Here is an example of a working jsfiddle.

UPDATE

Men savolni noto'g'ri tushunganimga o'xshaydi. Agar siz aslida onclick xususiyatini o'zgartirishni xohlasangiz, HTML formatidagi narsani o'zgartiring, setAttribute() dan foydalanishni xohlaysiz. Shunday qilib, sizning kodingiz bo'ladi.

document.getElementById('xx').setAttribute( "onClick", "test_fn('111,222')" );

Here is the updated jsfiddle

nnnnnn kabi bir yon eslatma asl postning sharhida aytilganidek, 1 parametrni sizning kodingiz 111,222 funktsiyasi orqali o'tib ketayotganini bildiradi. ikkitadan o'tishi mumkin. Agar ikkinchi parametr sifatida 111 kodini birinchi parametr va 222 kodi sifatida ishlatmoqchi bo'lsangiz, funktsiyani test_fn (111,222) (Parametrlarni integrallar sifatida berish) yoki test_fn ('111', '222')

4
qo'shib qo'ydi
Yangilanish haqida men sizning savolingiz nima ekanini tushunmagani kabi savolni noto'g'ri tushunganingizga amin emasman. Funktsiyani to'g'ridan-to'g'ri tayinlashdan ko'ra, yangi xususiyatga ega xususiyatni o'zgartirish uchun foydalar bormi? "To'g'ri" natija qanday funktsiyani aslida chaqirgan va elementni chertganida qanday parametrlar bilan o'lchagan bo'lardi, deb o'ylardim, chunki HTML "ko'rinadi" bilan emas, ayniqsa, "Source Source" da asl manbasini ko'rsatsa kodi.
qo'shib qo'ydi muallif nnnnnn, manba
Nima uchun O'X bunday qilishni xohlayotganiga amin emasman, biroq nega unga ko'p marta berilgan javob uning xohlaganiga erisholmaganday tuyuldi.
qo'shib qo'ydi muallif Alesana, manba
Men javobimni yangiladim.
qo'shib qo'ydi muallif Alesana, manba
onclick = "test_fn (" aaa, bbb ")" dan onclick = "test_fn (" 111,222 ') "
qo'shib qo'ydi muallif mongkon mamiw, manba

test_fn funktsiyasini aniqlayotganingizni ko'rmayapman funktsiyani onclick elementiga html va js-ga ikki marta kiritishingiz kerak ... faqat bitta kerak va siz aslida funktsiyani aniqlab olishingiz kerak

 edit
 <!-- or .. not both , they are doing pretty much the same thing--> 
 <script>
   document.getElementById('xx').onclick = function(){
     console.log('clicked')
   }
 </script>

Endi siz test_fn ni belgilashingiz kerak, u elementni bosish orqali chaqiriladi

function test_fn(arg1 , arg2){
  condole.log(arg1 , arg2)
}

html onclick versiyasida bitta argumentni berib, JS skript versiyasi ikkita argumentdan iborat ekanligini unutmang.

0
qo'shib qo'ydi
tahrir va bu erda yana bir versiya. jsbin.com/vutotar/edit?html,js,console,outputkt/a/a >
qo'shib qo'ydi muallif aeid, manba
kodingizni sinab ko'rganimda jsfiddle.net/j2mbngq1 id = "xx" hali ham onclick = "test_fn (" aaa, bbb ")" onclick = "test_fn (" 111,222 ') "
qo'shib qo'ydi muallif mongkon mamiw, manba

test_fn funktsiyasini aniqlayotganingizni ko'rmayapman funktsiyani onclick elementiga html va js-ga ikki marta kiritishingiz kerak ... faqat bitta kerak va siz aslida funktsiyani aniqlab olishingiz kerak

 edit
 <!-- or .. not both , they are doing pretty much the same thing--> 
 <script>
   document.getElementById('xx').onclick = function(){
     console.log('clicked')
   }
 </script>

Endi siz test_fn ni belgilashingiz kerak, u elementni bosish orqali chaqiriladi

function test_fn(arg1 , arg2){
  condole.log(arg1 , arg2)
}

html onclick versiyasida bitta argumentni berib, JS skript versiyasi ikkita argumentdan iborat ekanligini unutmang.

0
qo'shib qo'ydi
tahrir va bu erda yana bir versiya. jsbin.com/vutotar/edit?html,js,console,outputkt/a/a >
qo'shib qo'ydi muallif aeid, manba
kodingizni sinab ko'rganimda jsfiddle.net/j2mbngq1 id = "xx" hali ham onclick = "test_fn (" aaa, bbb ")" onclick = "test_fn (" 111,222 ') "
qo'shib qo'ydi muallif mongkon mamiw, manba

test_fn ('111,222') kodini ishlatadigan funktsiyaga onclick ni o'rnatishingiz kerak:

<script>
  document.getElementById('xx').onclick = function() { test_fn('111,222'); }
</script>
0
qo'shib qo'ydi
@mongkonmamiw Men o'zgartirishni ko'rish uchun rightclick> viewource ni ishlatmoqchi bo'lgan shubhali shubam bor. Xo'sh, bu brauzerlar qanday ishlaydi. Ko'rishlar manbai faqat serverdan qaytgan dastlabki/asl mazmunini ko'rsatadi. Jonli DOM-ga qarab yangilangan onclick xususiyatini ko'rishingiz mumkin (uni ko'rish uchun brauzeringizning keng konsolidan foydalaning)
qo'shib qo'ydi muallif Crayon Violent, manba
Ha, bu shunday qiladi. onclick da javascriptda funksiya bo'lishi kerak
qo'shib qo'ydi muallif hackerrdave, manba
Eslatma: .onclick dan foydalanib javascriptda jonli DOM da xususiyatni o'zgartirmaydi. Buni amalga oshirish uchun siz setAttribute funktsiyasidan foydalanishingiz kerak.
qo'shib qo'ydi muallif Alesana, manba
onclick = "test_fn (" aaa, bbb ")" dan onclick = "test_fn (" 111,222 ') "
qo'shib qo'ydi muallif mongkon mamiw, manba
document.getElementById('xx').onclick = function() {
  test_fn(111, 222);
};

HTMLda onclick parametrini belgilaganda, mag'lubiyatdan foydalaning. JS orqali sozlashda, funktsiyadan foydalaning.

0
qo'shib qo'ydi
@mongkonmamiw - barcha javoblar sizning savolingizga asoslangan. Ehtimol, qo'shimcha tushuntirishga harakat qilyapsizmi? Funktsiya nomi, parametrlar soni va hajmi to'liq ahamiyatga ega ... Iltimos, nimaga urinayotganingizni aniqlang
qo'shib qo'ydi muallif wahwahwah, manba
Yuqorida keltirilgan kod nimani anglatadi. Urunib ko'r.
qo'shib qo'ydi muallif Kyle Lin, manba
qo'shib qo'ydi muallif Kyle Lin, manba
Mening brauzerimda, oraliqni bosganingizda, "baz" so'zi sizning xohlaganingizdir, to'g'rimi? Agar u siz uchun ishlamasa, qanday brauzerdan foydalanasiz? XSni qo'llab-quvvatlayaptimi?
qo'shib qo'ydi muallif Kyle Lin, manba
Kodni sinab ko'rganimda onclick = "alert (" foo ")" dan = id = "my-span" "ogohlantirish ('baz')" , lekin hali ham ishlamaydi.
qo'shib qo'ydi muallif mongkon mamiw, manba
Iltimos, menga bir fiddle ko'rsatish mumkin olasizmi?
qo'shib qo'ydi muallif mongkon mamiw, manba
onclick = "test_fn (" aaa, bbb ")" dan onclick = "test_fn (" 111,222 ') "
qo'shib qo'ydi muallif mongkon mamiw, manba
document.getElementById('xx').onclick = function() {
  test_fn(111, 222);
};

HTMLda onclick parametrini belgilaganda, mag'lubiyatdan foydalaning. JS orqali sozlashda, funktsiyadan foydalaning.

0
qo'shib qo'ydi
@mongkonmamiw - barcha javoblar sizning savolingizga asoslangan. Ehtimol, qo'shimcha tushuntirishga harakat qilyapsizmi? Funktsiya nomi, parametrlar soni va hajmi to'liq ahamiyatga ega ... Iltimos, nimaga urinayotganingizni aniqlang
qo'shib qo'ydi muallif wahwahwah, manba
Yuqorida keltirilgan kod nimani anglatadi. Urunib ko'r.
qo'shib qo'ydi muallif Kyle Lin, manba
qo'shib qo'ydi muallif Kyle Lin, manba
Mening brauzerimda, oraliqni bosganingizda, "baz" so'zi sizning xohlaganingizdir, to'g'rimi? Agar u siz uchun ishlamasa, qanday brauzerdan foydalanasiz? XSni qo'llab-quvvatlayaptimi?
qo'shib qo'ydi muallif Kyle Lin, manba
Kodni sinab ko'rganimda onclick = "alert (" foo ")" dan = id = "my-span" "ogohlantirish ('baz')" , lekin hali ham ishlamaydi.
qo'shib qo'ydi muallif mongkon mamiw, manba
Iltimos, menga bir fiddle ko'rsatish mumkin olasizmi?
qo'shib qo'ydi muallif mongkon mamiw, manba
onclick = "test_fn (" aaa, bbb ")" dan onclick = "test_fn (" 111,222 ') "
qo'shib qo'ydi muallif mongkon mamiw, manba
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb