Знание, какая кнопка нажата в JavaScript

Я задавался вопросом, был ли способ, которым я мог бы спросить, нажали ли на определенную кнопку так, чтобы это сделало бы определенную вещь в функции. Я знаю, что мог разделить это на две отдельных функции, но я хочу знать, как сделать этот этот путь.

Я помещу свой код ниже.

function displaySort(form) {
    var list = form.values.value.replace(/\s+/g, '')
    list = list.split(/,/)
    if (document.getElementById("fSort").form.input.id) {
        list.sort()        
        var listAsString = list.join(", ")
        form.sortedDisplay.value = listAsString
    } else if (document.getElementById("rSort").form.input.id) {
        list.sort(reverseCompare)
        var listAsString = list.join(", ")
        form.reverseSortedDisplay.value = listAsString
    }
    window.alert("Messed Up"); 
}

function reverseCompare(s1, s2) {
    if (s1 < s2) {
        return +1
    } else if ( s1 == s2 ){
        return 0
    } else {
        return -1
    }
}

форма:

<form>
    <table>
        <tr>
            <td>
                <input type="text" name="values" value="   Bob,  Ted,  Carol,           
                Bette, Alice,  Peter   "
                onclick="if (this.value == this.defaultValue) this.value=''"
                size="80"
                />
                <input type="button"
                onclick="displaySort(this.form)"
                value="Sort"
                id="fSort"
                />
                <input type="button"
                onclick="displaySort(this.form)"
                value="Reverse Sort"
                id="rSort"
                />
                <input type="reset"
                value="Reset Form"
                />
            </td>
        </tr>
        <tr>
            <td>
                <input type="text" name="sortedDisplay" value="Sorted list will show here"
                size="35"
                readonly
                style="font-size:24pt;font-weight:normal;"
                />
            </td>
        </tr>
        <tr>
            <td>
                <input type="text" name="reverseSortedDisplay" 
                value="Reverse sorted list will show here"
                size="35"
                readonly
                style="font-size:24pt;font-weight:normal;"
                />
            </td>
        </tr>
    </table>
</form>
1
nl ja de
как функция вызвана?
добавлено автор Daniel A. White, источник
You' ре, просящее нажатие кнопки, но меня don' t видят любое закрепление для keyup , keydown , keypress или одинаково. это что you' ре, надеющееся связывать с?
добавлено автор Brad Christie, источник
@dfsq благодарит фиксировать его, я испытывал затруднения.
добавлено автор Kirs Kringle, источник
I' m поиск входного Id кнопки, по которому щелкнут. если fSort тогда, я действительно отправляю, если rSort тогда, я действительно полностью изменяю вид.
добавлено автор Kirs Kringle, источник

1 ответы

Добавьте другой параметр к функциональной клавише:

function displaySort(form, button)
{ ...

И передайте ссылку кнопки на него, когда щелкнули:

<input type="button"
   onclick="displaySort(this.form, this)"
   value="Reverse Sort"
   id="rSort"
/>
2
добавлено
просто проверьте button.id. Вы могли также передать id в непосредственно: onclick = "displaySort (this.form, this.id)" , или даже передает булево в: onclick = "displaySort (this.form, верный)" и onclick = "displaySort (this.form, ложный)"
добавлено автор jalynn2, источник
что я призываю, если заявление, чтобы видеть, верно ли это? я попробовал кнопку == document.getElementById ("fSort") .form.input.id, я пытался делать кнопку вара = кнопка;
добавлено автор Kirs Kringle, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском