2015-08-25 123 views
1

我有這樣的控制器:無法獲取屬性「目標」的未定義或空引用

$scope.SearchOnEnter = function (event) { 
      var element = angular.element(event.target); 
      if (event.keyCode === 13) { 
       _search(element.val()); 
      } 

     } 

在HTML我有這樣的:

<input type="search" data-ng-model="searchText" data-ng-model-options="{ debounce: 1000 }" placeholder="@Translator.Translate("SEARCH_OFFER")" data-ng-keydown="checkKeyDown($event);SearchPOnEnter($event)" data-ng-change="search()" data-ng-enter="SearchOnEnter(searchText)" /> 

但在控制檯IM歌廳錯誤:

Unable to get property 'target' of undefined or null reference

+0

你不能沒有使用控制器或父範圍'數據-NG-模型選項=「{反跳:1000}」做到這一點' – atinder

+0

添加plunkr演示? – sirrocco

+0

@atinder你的意思是? – None

回答

0

您正在將searchText傳遞給函數:

data-ng-enter="SearchOnEnter(searchText)" 

但在函數期望它是一個事件。

我猜你的意思是它是

data-ng-enter="SearchOnEnter($event)" 
+1

這是一個JSBin:http://jsbin.com/rojaye/edit?html,js,output – igorshmigor

1

檢查該演示:JSFiddle

它只是按預期工作。您的JSFiddle不起作用,因爲您沒有正確導入AngularJS。還需要添加ng-app="myApp"

<div ng-app="myApp" ng-controller="MyCtrl"> 
相關問題