Javascript 如何在Backbone.js中使用document.getElementsByTagName
我在没有Backbone.js的情况下使用了以下代码,它正在工作-防止在尝试拖动图像时出现重影图像:Javascript 如何在Backbone.js中使用document.getElementsByTagName,javascript,backbone.js,getelementsbytagname,Javascript,Backbone.js,Getelementsbytagname,我在没有Backbone.js的情况下使用了以下代码,它正在工作-防止在尝试拖动图像时出现重影图像: $(document).ready(function() { $('img').attr('draggable', false); document.getElementsByTagName('img').draggable = false; }); 现在我正在学习backbone.js并尝试在视图中实现它,它的外观如下: function noDrag () { $(that
$(document).ready(function() {
$('img').attr('draggable', false);
document.getElementsByTagName('img').draggable = false;
});
现在我正在学习backbone.js并尝试在视图中实现它,它的外观如下:
function noDrag () {
$(that.el).find('img').attr('draggable', false);
document.getElementsByTagName('img').draggable = false;
}
noDrag();
它不起作用
我知道这项工作的关键是让零件在这里输入代码document.getElementsByTagName('img')。draggable=false代码>开始工作。我的代码怎么了
下面是完整的代码:
window.dolnyPanelView = Backbone.View.extend({
tagName : 'div',
className : 'dolnyPanel-menu-view',
initialize : function() {
var that = this;
// tu wybierz template z templates/main.tpl
this.template = _.template($("#dolnyPanel-view").html());
return this;
},
events : {
},
render : function() {
var that = this;
$(this.el).html(this.template());
$(this.el).find('#panel-view').carousel({
interval: 3000
});
var BandCount;
$.post('api/getBandsCount.php', function(data) {
BandCount=data;
});
var items = getItems(BandCount);
$(this.el).find('.carousel-inner').html($(items));
$(this.el).find('.item').first().addClass('active');
function getItems(BandCount) {
// console.log(BandCount);
var allItems = '';
for (var i = 1; i <= BandCount; i++) {
var items = '';
for (var j = 0; j < 6; j++) {
if (i <= BandCount) {
items += getImageItem(i);
i++;
}
}
allItems += '<div class="item"><div class="row">' + items + '</div></div>';
}
return allItems;
}
function getImageItem(id) {
var item = '<div class="col-md-2 col-sm-3 col-xs-6 artist-col biography-artist-col"><a href="#x" bandId="'+id+'">';
var src = 'LEKSYKON';
$.post('api/getAwatar.php', {id: id}, function(data) {
src = src + data.path;
}, "json");
item += '<img src="' + src + '" alt="Image" class="img-responsive artist"></a></div>';
return item;
}
function noDrag () {
$(that.el).find('img').attr('draggable', false);
document.getElementsByTagName('img').draggable = false;
}
noDrag();
return this;
}
});
window.dolnyPanelView=Backbone.View.extend({
标记名:“div”,
类名:“dolnyPanel菜单视图”,
初始化:函数(){
var=这个;
//tu wybierz模板z模板/main.tpl
this.template=..template($(“#dolnyPanel view”).html();
归还这个;
},
活动:{
},
render:function(){
var=这个;
$(this.el).html(this.template());
$(this.el).find(“#面板视图”).carousel({
间隔时间:3000
});
var带计数;
$.post('api/getbandsunt.php',函数(数据){
波段计数=数据;
});
var items=getItems(BandCount);
$(this.el).find('.carousel-inner').html($(items));
$(this.el).find('.item').first().addClass('active');
函数getItems(带计数){
//控制台日志(带宽计数);
变量allItems='';
for(var i=1;idocument.getElementsByTagName
返回一组DOM元素,因此需要将属性更改应用于每个元素,而不是集合本身
由于您已经在使用jQuery,因此不需要使用document.getElementsByTagName
——您可以创建另一个jQuery选择
$('img').prop('draggable', false);
事实上,这正是您在第一个工作示例-文档中所做的。getElementsByTagName
在那里没有做任何事情
您可以使用jQuery的prop
方法可靠地更改选择中所有元素的toggleable属性
$('img').prop('draggable', false);
有关prop
与attr
的讨论,请参见
//this will get the first img element
var element = document.getElementsByTagName('img')[0];
//setting value of attribute
element.setAttribute("draggable", false);
请添加查看完整代码src@user3691280你试过我的答案了吗?你在var元素中得到任何元素了吗?