Если кто-то использует @FormDataParam
с аннотацией @ApiOperation
swagger, он не будет работать (в соответствии с последней версией swagger в это время), как указано здесь:
Используйте this
Ключевое слово.
<a href="" id="someId" onclick="SomeMethod(this);"></a>
На самом деле вам не нужно передавать это в качестве аргумента вашей функции, потому что у вас есть объект события щелчка , к которому вы можете получить доступ. Итак:
<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>
Я склонен использовать этот подход во всех вызовах функции от 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");
, Хуже все же, это было бы закрытием утечки памяти.
На данный момент: SomeMethod(this)
- this
возвращает объект окна, поэтому не используйте его. Правильный способ использования ключевого слова this
- сделать его релевантным контексту, поэтому используйте SomeMethod.call(this)
.