Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>That does not look like valid syntax to me:</p> <pre class="lang-html prettyprint-override"><code>&lt;span ng-class="{classOverlayShow: {{i.name}}_focused}" class="class-img-overlay"&gt; </code></pre> <p>It should read something along the lines of:</p> <pre class="lang-html prettyprint-override"><code> &lt;span ng-class="{classOverlayShow: i.name + '_focused' }" class="class-img-overlay"&gt; </code></pre> <hr> <p>Why not add the <code>focussed</code> field to your models in <code>items</code>?</p> <p>Instead of <code>ng-init="{{i.name}}_focused = false"</code> and then using <code>ng-focus="{{i.name}}_focused = true" ng-blur="{{i.name}}_focused = false"</code> to create dynamic variables on the fly (which I suspect doesn't work because it isn't valid angular syntax), do this instead:</p> <p><strong>Controller</strong></p> <pre class="lang-js prettyprint-override"><code>$scope.items.forEach(function (i) { i.focussed = false; }); $scope.setOverlay = function (item) { item.focussed = true; }; $scope.removeOverlay = function (item) { item.focussed = false; }; </code></pre> <p><strong>Template</strong> </p> <pre><code>&lt;div class="myClass" ng-repeat="i in items"&gt; &lt;span class="class-img-wrapper"&gt; &lt;img ng-src="{{i.img}}" class="class-img-view" ng-focus="setOverlay(i)" ng-blur="removeOverlay(i)"/&gt; &lt;span ng-class="{classOverlayShow: i.focussed }" class="class-img-overlay"&gt; {{i.name}} &lt;/span&gt; &lt;/span&gt; &lt;/div&gt; </code></pre> <p>However, <a href="http://docs.angularjs.org/api/ng.directive%3angFocus" rel="nofollow">angular documentation</a> suggests that the <code>ngFocus</code> directive works only for <code>input</code>, <code>textarea</code>, <code>select</code>, <code>window</code> and <code>a</code> tags. So for <em>focus</em> events, you may have to create your own directive and bind to <code>onfocus</code> events yourself, or switch to simpler and more ubiquitous <code>ng-click</code>.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload