遇到一个奇怪的错误 - 所以我button在我的HTML中的elems 上定义了一个属性'data-tagtype' .当用户单击按钮时,将调用以下方法:
onClickTag: function(e) {
if (!this.playerLoaded) {
return false;
}
var type = $(e.target).data('tagtype');
var seconds = this.getCurrentTime();
console.log(type);
if (type) {
this.model.addTag({
type: type,
seconds: seconds
});
}
},
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都有效,但由于某种原因,有时type(看似)随机元素未定义.相应的HTML在这里:
<button id="tag-love" class="tagger disabled" data-tagtype="love"><i class="fa fa-heart fa-fw"></i></button>
<button id="tag-important" class="tagger disabled" data-tagtype="important"><i class="fa fa-exclamation fa-fw"></i> Important</button>
<button id="tag-more" class="tagger disabled" data-tagtype="more"><i class="fa fa-ellipsis-h fa-fw"></i> More</button>
<button id="tag-confused" class="tagger disabled" data-tagtype="confused"><i class="fa fa-question fa-fw"></i> Confused</button>
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为似乎没有关于哪些返回未定义的模式.有时它们都工作,有时其中一个返回undefined几秒钟,但如果我一直点击它返回正确的值.
在调用任何这些方法之前,View肯定会被渲染/加载到DOM中.
有任何想法吗?Backbone可能会做些什么吗?
javascript jquery custom-data-attribute backbone.js backbone-views
我正在尝试获取字符串中方括号之间的内容,但我的正则表达式不起作用。
正则表达式: /\[([^\n\]]+)\]/g
它在 regex101 上返回正确的匹配组,但是当我尝试类似的操作时'[a][b]'.match(/\[([^\n\]]+)\]/g),我得到的['[a]', '[b]']不是['a', 'b'].
如果我迭代并执行 RegExp.exec,我可以获得正确的结果,但是从在线查看示例来看,我似乎应该能够使用 String.match 获取匹配组