Используйте typeof(Book).GetProperties()
, чтобы получить массив экземпляров PropertyInfo
. Затем используйте GetCustomAttribute()
для каждого PropertyInfo
, чтобы увидеть, есть ли у каждого из них тип атрибута Author
. Если это так, вы можете получить имя свойства из информации о свойствах и значений атрибутов из атрибута.
Что-то в этих строках для сканирования типа свойств, имеющих определенный тип атрибута, и возврата данные в словаре (обратите внимание, что это можно сделать более динамичным, передав типы в подпрограмму):
public static Dictionary<string, string> GetAuthors()
{
Dictionary<string, string> _dict = new Dictionary<string, string>();
PropertyInfo[] props = typeof(Book).GetProperties();
foreach (PropertyInfo prop in props)
{
object[] attrs = prop.GetCustomAttributes(true);
foreach (object attr in attrs)
{
AuthorAttribute authAttr = attr as AuthorAttribute;
if (authAttr != null)
{
string propName = prop.Name;
string auth = authAttr.Name;
_dict.Add(propName, auth);
}
}
}
return _dict;
}
В jQuery работало бы следующее:
$("#id_of_textbox").keyup(function(event) {
if (event.keyCode === 13) {
$("#id_of_button").click();
}
});
$("#pw").keyup(function(event) {
if (event.keyCode === 13) {
$("#myButton").click();
}
});
$("#myButton").click(function() {
alert("Button code executed.");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Username:<input id="username" type="text"><br>
Password: <input id="pw" type="password"><br>
<button id="myButton">Submit</button>
Или в плоскости JavaScript, следующее работало бы:
document.getElementById("id_of_textbox")
.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("id_of_button").click();
}
});
document.getElementById("pw")
.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("myButton").click();
}
});
function buttonCode()
{
alert("Button code executed.");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Username:<input id="username" type="text"><br>
Password: <input id="pw" type="password"><br>
<button id="myButton" onclick="buttonCode()">Submit</button>
Хотя, я вполне уверен что, пока существует только одно поле в форме и одной кнопке отправки, удар входят, должен отправить форму, даже если существует другая форма на странице.
можно тогда получить форму onsubmit с js и сделать любую проверку или обратные вызовы, которые Вы хотите.
onkeydown="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('btnSearch').click();}};"
Это - просто что-то, что я имею из несколько недавнего проекта... Я нашел его в сети, и я понятия не имею, существует ли лучший путь или не в простом JavaScript.
Заставьте кнопку a отправить элемент, таким образом, это будет автоматически.
<input type = "submit"
id = "btnSearch"
value = "Search"
onclick = "return doSomething();"
/>
Примечание, в котором Вы будете нуждаться <form>
элемент, содержащий поля ввода для создания этой работы (благодарит Sergey Ilinsky).
Это не хорошая практика для переопределения стандартного поведения, Входят ключ должен всегда называть кнопку отправки на форме.
Понятый это:
<input type="text" id="txtSearch" onkeypress="return searchKeyPress(event);" />
<input type="button" id="btnSearch" Value="Search" onclick="doSomething();" />
<script>
function searchKeyPress(e)
{
// look for window.event in case event isn't passed in
e = e || window.event;
if (e.keyCode == 13)
{
document.getElementById('btnSearch').click();
return false;
}
return true;
}
</script>
Тогда просто кодируйте его в!
<input type = "text"
id = "txtSearch"
onkeydown = "if (event.keyCode == 13)
document.getElementById('btnSearch').click()"
/>
<input type = "button"
id = "btnSearch"
value = "Search"
onclick = "doSomething();"
/>
Я разработал пользовательский JavaScript для достижения этой функции, просто добавив класс
Пример: <button type="button" class="ctrl-p">Custom Print</button>
Здесь Проверка это Скрипка
- или -
выезд рабочий пример https://Примечание stackoverflow.com/a/58010042/6631280
: по текущей логике необходимо нажать Ctrl + Вводят
event.returnValue = false
Используйте его при обработке события или в функции, которую вызывает обработчик событий.
По крайней мере, работает в Internet Explorer и Opera.
Эта попытка изменения близка, но ведет себя некорректно по отношению к браузеру назад, то вперед (в Safari 4.0.5 и Firefox 3.6.3 ), поэтому я бы не рекомендовал его.
<input type="text" id="txtSearch" onchange="doSomething();" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />