这个问题的标题不是那么好,所以如果其他人在阅读后有更好的措辞方式,那将不胜感激。
不碍事的披露,这是功课。本周的任务是重构我们已经存在的纯 JS 代码以使用 JQM,但我在转换时遇到问题,我不太清楚,代码如下:
function populateItemLinks(key, listItem)
{
var ecLink = $('<a class="padRightRed"></a>');
ecLink.attr("href", "#");
ecLink.attr("key", key);
ecLink.html("Edit Character");
ecLink.on("click", editCharacter);
ecLink.appendTo(listItem);
console.log(ecLink.attr("key"));
ecLink = $('<a class="padLeftRed"></a>');
ecLink.attr("href", "#");
ecLink.attr("key", key);
ecLink.html("Delete Character");
ecLink.on("click", deleteCharacter);
ecLink.appendTo(listItem);
console.log(ecLink.attr("key"));
};
function deleteCharacter()
{
var toDelete = confirm("Do you wish to delete this character?");
if (toDelete)
{
console.log(this.key);
alert("Character was deleted.");
localStorage.removeItem(this.key);
$.mobile.changePage("#home");
}
else
{
alert("Character was not deleted.");
}
}
问题是使用 .key 属性作为 populateItemLinks 函数中链接的标识。当它是 strait javascript 时,我可以做 linkname.key = key; 然后使用“this.key”在 deleteCharacter 函数中取回密钥。好吧,现在它总是返回 undefined ,我想不出任何方式不会复杂地获得与非 JQM 版本相同的功能,所以任何帮助将不胜感激。