- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 AngularJS 开发网络应用程序。我有一个不知从何而来的错误,它工作正常,但我真的不知道为什么它不再工作了。
所以它在指令中,我尝试设置属性 offsetWidth
指令 html 模板中的一个元素。因为我真的不知道它可能来自哪里,所以我会给你我的指令和模板的完整代码。该指令创建一个应用程序按钮并处理其点击时的视觉效果。这是行 $element[0].offsetWidth = $element[0].offsetWidth;
这会触发错误。 (这是重启动画的技巧)
我再说一遍,这段代码工作正常而且我几乎可以肯定我没有做任何更改。我正在使用 Chrome 进行调试,也许它来自于它?
错误:Uncaught TypeError: Cannot set property offsetWidth of #<HTMLElement> which has only a getter
指令:
'use strict';
XVMApp.directive('appButton', ['$location', function($location){
return {
restrict: 'E',
replace: true,
scope: {
img: '@',
fillPercent: '@?',
target: '@?'
},
link: function ($scope, $element) {
// Image percentage fill button
if($scope.fillPercent === undefined) $scope.fillPercent = '100';
// Click event
$element.on('click', function() {
// Url target
if($scope.target !== undefined){
$scope.$apply(function() {
$location.path($scope.target);
});
}
// Click effect
$element[0].preventDefault;
$element[0].classList.remove('app-button-click-effect');
$element[0].offsetWidth = $element[0].offsetWidth;
$element[0].classList.add('app-button-click-effect');
});
},
templateUrl: 'src/directive/appButton/app-button.html'
};
}]);
模板:
<div class="app-button"
style="background-size: {{fillPercent}}%; ">
<div style="
background-image: url('src/assets/img/{{img}}');
background-repeat: no-repeat;
background-position: center;
background-size: {{fillPercent}}%;
height: 100%;
width: 100%; ">
</div>
</div>
最佳答案
我猜你最近更新到 Chrome 43。我刚刚遇到了同样的问题。看起来最新版本将 dom 节点更像标准的 js 类,任何只读的属性现在都会抛出 js 错误。设置 offsetWidth 无论如何都不会起作用,因为它是一个只读属性,但以前 Chrome 会默默地忽略它,而现在如果你使用严格模式,它会抛出这个错误。详情请看这里:http://updates.html5rocks.com/2015/04/DOM-attributes-now-on-the-prototype
关于javascript - 未捕获的类型错误 : Cannot set property offsetWidth of#<HTMLElement> which has only a getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30453078/
我在使用 Google map API 显示邮政编码时遇到问题。但是,它给出了一个错误: https://maps.gstatic.com/maps-api-v3/api/js/19/6/main.j
在 element.offsetWidth 中,FF 和 Chrome 之间有 1px 的差异。 我一直在阅读以试图理解这个问题。试图reset the CSS , 试图将元素从屏幕边界附近移开(我记
我有一个 JS 函数可以获取页面上 div 的宽度: function getWidth() { var container = document.getElementsByClassName(
好吧,我正在尝试创建一个水平站点,但是当我尝试获取导航的 offsetWidth 时,它返回的值远高于真实宽度。可以找到有问题的设计 here .该页面的 CSS 是 here和 JS here .
我在跨不同浏览器使用 offsetWidth 时遇到了问题。这种结果差异导致了一些奇怪的布局。我创建了一个非常小的示例来显示我所看到的内容。 jsbin HTML Cell 1
1、概念 它们都是Element的属性,表示元素的宽度: Element.clientWidth 内容+内边距-滚动条-----不包括边框和外边距 =
Element.scrollWidth 只读属性是衡量元素内容的宽度,包括因为溢出而在屏幕上不可见的内容。SO 中的帖子对 scrollWidth、offsetWidth、clientWidth 有详
这段代码是我写的。 当我添加滚动条时,我得到 403 作为 clientWidth,这似乎是真的:403px 用于内部内容 + 17px 用于滚动条。然后我得到 403 作为 offsetWidth,
我正在尝试找到适合我的场景的文本宽度。这是我的代码(简单示例) var text = "Country and some following text"; var textObj = documen
我在使用 jquery 时遇到了一个奇怪的问题。我们正在尝试在我们的 Web 应用程序中使用相当旧的 jQuery 1.5.1。它仅支持 IE,并且始终以怪异模式呈现(无 doctype 元素)。 除
我有一个带有表格的 AngularJS 应用程序,我想获得这个场景: 首先:我想使用 table 引导类创建一个流动的表; 第二:在 table head 中的一些 javascript 更改(重建
我有一个链接的 css 文件用于默认属性,第二个链接文件用于显示窗口更改时它会更改的消息。在 JS 脚本的末尾,我将一个元素的 offsetWidth 放在全局值 NavW 中。所以 JS 似乎返回了
在我的应用程序中,我想检查是否有文本溢出(省略号)。为此,我检查 e.offsetWidth JS function manageReportDescription(
我尝试使用 nativeElement.offsetWidth 获取元素宽度,但它比实际宽度小 2.5px。我想知道我错过了什么? 我试图检查 DOM 并试图找到 2.5px 的位置,但我无法在任何地
不知何故,我在 Firefox 和 Chrome 中得到了不同的 offsetWidth 结果。 我有一个简单的按钮 Dropdown 其中 offsetWidth 正好是 89 像素。 Chrome
我正在尝试根据 div 中包含的图像的宽度调整其大小,但没有任何 JS 方法可以一致地工作来获取图像的宽度。 label here img { width: auto
void element.offsetWidth; 是一行奇怪的代码,它似乎什么也没做,但却是 CSS 动画工作所必需的。这条线有什么作用以及为什么需要它? 如果整行被注释掉,动画会发生一次但不会重复
我需要根据一些标签的宽度和高度来计算 offsetwidth... 我知道如何计算特定标签的 offsetwidth 高度 = 563 像素,宽度 = 763 像素,我使用 有一些内容,p 标签左边
我用 Bootstrap 3.3 创建了一个 carousel 它可以在我的本地机器上运行,但是当我将整个东西上传到正在编译 bootstrap js 文件的服务器上时将其他文件放在一个文件中,我收到
Angular 新手,我正在尝试使用 ScrollTrigger 进行水平滚动。 它有效,但是当我提供或构建时,出现错误: 类型“元素”上不存在属性“偏移宽度”。 这是 gsap 的代码: gsap.
我是一名优秀的程序员,十分优秀!