JavaScript: Как заставить Управление отправить себя в методе

Если кто-то использует @FormDataParam с аннотацией @ApiOperation swagger, он не будет работать (в соответствии с последней версией swagger в это время), как указано здесь:

https: // github.com/swagger-api/swagger-ui/issues/169

27
задан Programmin Tool 6 March 2009 в 16:39
поделиться

4 ответа

Используйте this Ключевое слово.

<a href="" id="someId" onclick="SomeMethod(this);"></a>
40
ответ дан Quintin Robinson 14 October 2019 в 13:30
поделиться

На самом деле вам не нужно передавать это в качестве аргумента вашей функции, потому что у вас есть объект события щелчка , к которому вы можете получить доступ. Итак:

<a href="" id="someId" onclick="clickEventHandler()"></a>
<script>
function clickEventHandler(event) {

    if (!event) {
        event = window.event; // Older versions of IE use 
                              // a global reference 
                              // and not an argument.
    };

    var el = (event.target || event.srcElement); // DOM uses 'target';
                                                 // older versions of 
                                                 // IE use 'srcElement'
    el.setAttribute('name', el.id);

}
</script>
11
ответ дан James Tikalsky 14 October 2019 в 13:30
поделиться

Я склонен использовать этот подход во всех вызовах функции от HTML attributes:-

onclick="SomeMethod.call(this)"

Тогда в javascript do:-

function SomeMethod()
{
   this.setAttribute('name', this.id);
}

, Это имеет явное преимущество, когда можно также присвоиться непосредственно к свойствам обработчика событий в Javascript code:-

document.getElementById("someID").onclick = SomeMethod

, Если бы SomeMethod взял элемент контекста в качестве параметра, это было бы очень неудобный установить up:-

function(id) {
   var elem = document.getElementById(id)
   elem.onclick = function() { SomeMethod(elem); }
}("someID");

, Хуже все же, это было бы закрытием утечки памяти.

6
ответ дан AnthonyWJones 14 October 2019 в 13:30
поделиться

На данный момент: SomeMethod(this) - this возвращает объект окна, поэтому не используйте его. Правильный способ использования ключевого слова this - сделать его релевантным контексту, поэтому используйте SomeMethod.call(this).

1
ответ дан Peter Reid 14 October 2019 в 13:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: