我正在尝试维护后退功能。在我们的应用程序中,我们决定放置一个后退按钮,只需单击后退按钮,我就必须保留用户选择或填充的表单的所有值。我在MVC中用angularjs做这个。
在表单中,我们允许用户为所选移动模型选择颜色。因此,表单就像用户将提示选择手机型号,然后选择其颜色,最后选择其容量。因此,它的依赖字段只有在选择了立即字段时才会启用。
动态创建颜色。
在下面的代码中,我在下面分享的是Color。选择颜色后,我也启用了所需的容量。
var elementName = modelName + '_Black';
var elementNameWithHash = '#' + elementName;
angular.element(elementNameWithHash).trigger("click", elementName);
modelName 会动态传递给它。
问题在于,代码未执行以触发“颜色”部分的单击,因此可以将其显示为突出显示,并启用容量的下一部分。
但是,除非我使用 setTimeout 方法进行装饰,否则此代码将不会执行:
setTimeout(function () { angular.element(elementNameWithHash).trigger("click", elementName) }, 1);
我无法理解为什么它向我展示这种奇怪的行为。
对此有任何启发,将不胜感激。
而且,如果我必须在没有setTimeout的情况下调用它,我必须做什么?
答案 0 :(得分:0)
看起来您的代码在页面加载之前被调用。
Angular有自己的功能来测试文档就绪:
angular.element(document).ready(function () {
// Your code
});