有人可以向我解释为什么在加载页面时会触发此按钮点击?

时间:2017-11-29 11:38:38

标签: javascript jquery ajax

我尝试创建一个加载外部PHP脚本结果的页面,然后动态添加按钮,单击这些按钮会将您带到其他页面。一世 我想通过for循环来获取PHP文件中的页数(我已经省略了)。

我有一个名为test(pageNum)的附加功能,它接受一个页码参数并获取结果并将其显示在表格中。功能很好,但每当我加载页面时,它似乎立即调用按钮单击功能。有人可以在这里解释这个问题吗?

$(document).ready(function() {
  test(1);

  $.get("link here", {
    op: "pages"
  }, function(data) {
    $("h1").html(data);
    for (var j = 1; j < data.length; j++) {
      (function() {
        var btn = $("<button>/", {
          type: 'button',
          text: j,
          on: {
            click: test(j)
          }
        });
        $('#buttons').append(btn);
      })(j);
    }
  });
});

1 个答案:

答案 0 :(得分:2)

此代码:

const CustomBtn = (props) => (
    <TouchableOpacity {...props} onPress={props.onPress}>
        <View style={styles.button}>
             <Text style={styles.text}>{props.text}</Text>
        </View>
    </TouchableOpacity>
);

on: { click: test(j) } 事件设置为click结果 - 即立即调用它。

将此更改为

test(j)