我的代码的目标是将我从地理定位对象返回的纬度附加到现有元素。我通常使用类似的东西
this.$el.find(".className").method()
在我的 Backbone 代码中执行任何方法。但是,当我创建一个带有函数的 if 语句时,它看起来像这样:
render: function(){
if ("geolocation" in navigator){
navigator.geolocation.getCurrentPosition(function(position) {
this.$el.find(".className").append(position.coords.latitude)
})
}
else {
}
}
“This”不返回我希望定位的对象。
如果我做类似的事情:document.getElementById("idName").append(position.coords.latitude)
在示例中,在我有 this.$el 的行中,代码将在本地运行,但缩小后将无法运行(并且不会显示任何错误)。我也明白,即使这种方法确实适用于缩小,也不是编写主干代码的好方法。
考虑到所有这些,我将如何定位我希望附加到的对象?
最佳答案
您可能想使用 _.bind :
navigator.geolocation.getCurrentPosition(
_.bind(
function(position) { this.$el.find(".className").append(position.coords.latitude)},
this
)
)
关于javascript - 使用主干附加地理定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49991212/