所以我在网格视图中为每一行创建了一个控件(文本框)。 (C#.NET)
因此,对于每个文本框,我想找到当前的活动元素并返回其id。
它有点工作,但我遇到了一些问题。
我知道item.addEventListener
没有返回值。
关于如何在调用addListener()
函数后返回值的任何想法?
var controls = {
txt: null,
};
var selectedTextArea;
var items = document.getElementsByClassName("textboxnew");
for (var i = 0; i < items.length; i++) {
controls = addListener(items[i], controls);
alert(controls.txt); ///GET ERROR HERE
}
function addListener(item, ctrls) {
selectedTextArea = document.activeElement;
ctrls.txt = selectedTextArea.name.toString();
item.addEventListener("click", function () {
selectedTextArea = document.activeElement;
ctrls.txt = selectedTextArea.name.toString();
alert(ctrls);
});
return ctrls; //VALUE NOT RETURNED ???
}
答案 0 :(得分:1)
您可以使用jQuery.Callbacks()
来定义可以通过传递参数触发的回调函数。
var callbacks = jQuery.Callbacks();
function active(id) {
alert(id)
}
callbacks.add(active);
$("input").on("click", function() {
callbacks.fire(document.activeElement.id)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<input id="1" autofocus tabindex="1">
<input id="2" tabindex="2">
<input id="3" tabindex="3">
&#13;