我有一个javascript,当在telerik RadAutoCompleteBox中按下回车键时将触发一个警告框。当按下enter时,我需要找到最近的asp.net(输入按钮)并单击此按钮。有什么建议吗?
<script>
$(document).ready(function () {
var handler = Telerik.Web.UI.RadAutoCompleteBox.prototype._onKeyDown;
Telerik.Web.UI.RadAutoCompleteBox.prototype._onKeyDown = function (e) {
handler.apply(this, [e]); // Let AutoCompleteBox finish it's internal logic
if (e.keyCode == Sys.UI.Key.enter) {
this._onBlur();
alert('Enter has been pressed inside RadAutoCompleteBox');
}
}
});
</script>
答案 0 :(得分:0)
我不确定这是你在寻找什么,因为它需要jQuery,无论如何这里有2个选项。一个通过父元素,然后查看子元素,第二个如果它们通过兄弟姐妹处于同一级别。
$('#textbox').on('keyup', function() {
$(this).parent().find('input[type="button"]').click();
});
$('#thebutton').on('click', function() {
alert('the click happened');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
<input type="text" id="textbox">
<input type="button" id="thebutton" value="click me">
</div>
$('#textbox').on('keyup', function() {
$(this).siblings('input[type="button"]').click();
});
$('#thebutton').on('click', function() {
alert('the click happened');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="textbox">
<input type="button" id="thebutton" value="click me">
答案 1 :(得分:0)
您可以使用nearest()查找最近的“按钮类型”输入或按钮标记
if (e.keyCode == Sys.UI.Key.enter) {
// Code
var input = $(e.target).closest('input[type="button"],input[type="submit"],button');
if (input.lenght > 0) {
input.click();
}
}
这将搜索元素本身,稍后将遍历DOM树中的祖先以查找第一个匹配并单击它