我正在尝试一个小型JavaScript库,SnackJS并且我做得很好。但是我已经撞墙了,似乎无法想出这个:
小吃:
<script type="text/javascript">
snack.ready(function () {
var parameters = {
node: document.body,
event: 'change',
delegate: function (node) {
return node.getElementsByClassName("qty")
}
}
snack.listener(parameters, postToOtherPage);
function postToOtherPage() {
var options = {
method: 'post',
url: '/InlineEditing',
data: {
qty: 5,
id: "hi"
}
}
}
});
</script>
我的问题是,在input元素的change事件中,如何将元素的id以及该元素的值(qty)发布到另一个页面?
我查看了文档,但我无法弄明白。
答案 0 :(得分:2)
你错过了
snack.request(options, callback);
呼叫。一部分,你的代码看起来很好......它有什么问题?
哦,我发现你没有从文件中检索元素的id ..来自事件回调的第一个参数是触发事件的节点,所以:
snack.ready(function () {
var parameters = {
node: document.body,
event: 'change',
delegate: function (node) {
return node.getElementsByClassName("qty")
}
}
snack.listener(parameters, postToOtherPage);
function postToOtherPage(event) {
var options = {
method: 'post',
url: '/InlineEditing',
data: {
qty: 5,
id: this.id
}
}
snack.request(options, function(){
// do something with response..
});
}
});
应该可以正常工作..
不,抱歉,继续阅读我发现他们正在使用callback.apply(this, [event])
的文档,照常更新代码。
顺便说一下,我没有看到使用这种微库而不是像jQuery / Zepto那样成熟的库这一点,因为微库的大小方面的优点不值得IMO缺点。
考虑“更大”的图书馆:
然而,这只是我的意见,只是把它作为我个人的建议。