رفتن به مطلب

عبارت return در رویدادهای جاوااسپکریپت


پست های پیشنهاد شده

سلام دوستان امیدوارم حالتون خوب باشه

میخواستم بدونم در تکه کد زیر :

<body onload="startGame();" onkeydown="return handleKeys(event);">
  
  <script>
    
    ...
    
        if (youWin()) {
            alert("You Win !");
            location.reload();
        }
    }
  </script>

چرا در رویداد onkeydown از return استفاده شده؟ توی اینترنت جستجو کردم ولی درست نفهمیدم :) میشه لطفا راهنمایی کنید

با تشکر فراوان

لینک به ارسال

کد اسکریپتتونو کامل بزارین
اینجوری مشخص نیست تابع onkeydown  شما چی هست ایا return داخلش داره یا خیر

لینک به ارسال
در در 7/23/2019 at 09:51، Mobin گفته است :

کد اسکریپتتونو کامل بزارین
اینجوری مشخص نیست تابع onkeydown  شما چی هست ایا return داخلش داره یا خیر

<body onload="startGame()" onkeydown="return handleKey(event);">
<img src="img/mos.png" alt="" id="mosq">
<img src="img/spider.png" id="spider">
  
  <script>
    function startGame() {
        var mosq = document.getElementById('mosq');
        var spider = document.getElementById('spider');
        mosq.style.top = rand(0, window.innerHeight - 50) + "px";
        mosq.style.left = rand(0, window.innerWidth - 50) + "px";
        spider.style.top = rand(0, window.innerHeight - 50) + "px";
        spider.style.left = rand(0, window.innerWidth - 50) + "px";
    }

    function handleKey(e) {
        var code = e.keyCode;
        if (code == 38) {
            moveSpider('up');
        } else if (code == 39) {
            moveSpider('right');
        } else if (code == 40) {
            moveSpider('down');
        } else if (code == 37) {
            moveSpider('left');
        }

        if(youWin()){
            alert("You Win The Game ... !");
            location.reload();
        }
    }

    function moveSpider(str) {
        var spider = document.getElementById('spider');
        var num = 10;
        switch (str) {
            case 'up':
                spider.style.top = spider.offsetTop - num + "px";
                if(spider.offsetTop < 0){
                    spider.style.top = window.innerHeight + "px";
                }
                break;
            case 'right':
                spider.style.left = spider.offsetLeft + num + "px";
                if(spider.offsetLeft > innerWidth){
                    spider.style.left = '0px';
                }
                break;
            case 'left':
                spider.style.left = spider.offsetLeft - num + "px";
                if(spider.offsetLeft < 0){
                    spider.style.left = innerWidth + 'px';
                }
                break;
            case 'down':
                spider.style.top = spider.offsetTop + num + "px";
                if(spider.offsetTop > window.innerHeight){
                    spider.style.top = "0px";
                }
                break;
        }
    }

    function youWin(){
        var mosq = document.getElementById('mosq');
        var spider = document.getElementById('spider');
        if(Math.abs(spider.offsetTop - mosq.offsetTop) < 20 && Math.abs(spider.offsetLeft - mosq.offsetLeft) < 20){
            return true;
        }
        return false;
    }
</script>

 

لینک به ارسال

از return به این صورت تو کدها برای این منظور استفاده میشه که از ادامه اجرای این رویداد جلوگیری میکنیم
مثلا میخواهیم چک کنیم تا وقتی تو باکس inter زده نشد فرم پست بک نشه اگه مقدار return ما false باشه پست بکی انجام نمیشه اگه true باشه انجام میشه

شما کد زیر رو اجرا کنید بیشتر متوجه میشید

<form method="post" enctype="multipart/form-data">
<input type="submit" name="submit" value="submit" onclick="return confirm('آیا مایل به ارسال هستید؟')" />
</form>
<?php
var_dump($_POST);
die;
?>

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...