如何从我的jquery函数返回值

时间:2018-01-15 06:02:27

标签: javascript c#

所以我在网格视图中为每一行创建了一个控件(文本框)。 (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 ???
}

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery.Callbacks()来定义可以通过传递参数触发的回调函数。

&#13;
&#13;
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;
&#13;
&#13;