Angularjs 从$http响应添加的动态Html的解释指令

Angularjs 从$http响应添加的动态Html的解释指令,angularjs,compiler-directives,dynamic-html,Angularjs,Compiler Directives,Dynamic Html,定义用于添加数字输入的指令 app.directive('numericCheck', function () { return { link: function (scope, element, attr) { element.on('keypress', function (event) { event = (event) ? event : window.event;

定义用于添加数字输入的指令

    app.directive('numericCheck', function () {
    return {
        link: function (scope, element, attr) {
            element.on('keypress', function (event) {  
                event = (event) ? event : window.event;
                if(/Firefox/.test(window.navigator.userAgent) && event.keyCode!=0) {
                    return true;
                }
                var charCode = (event.which) ? event.which : event.keyCode;
                if (charCode > 31 && charCode != 46 && charCode != 47 && charCode != 45 && (charCode < 48 || charCode > 57) || (charCode==45 && (event.target.selectionStart!=0 || event.target.value.indexOf('-')>=0)) || (charCode==46 && event.target.value.indexOf('.')>=0) || (charCode==47 && (event.target.selectionStart==0 || event.target.value.indexOf('/')>=0))) {
                    return false;
                }
                return true;
            });  
        }

    };
});
app.directive('numericCheck',function(){
返回{
链接:功能(范围、元素、属性){
on('keypress',函数(事件){
事件=(事件)?事件:window.event;
if(/Firefox/.test(window.navigator.userAgent)&&event.keyCode!=0){
返回true;
}
var charCode=(event.which)?event.which:event.keyCode;
如果(charCode>31&&charCode!=46&&charCode!=47&&charCode!=45&&charCode<48 | | | charCode>57)|(charCode==45&&event.target.selectionStart!=0 | event.target.value.indexOf('-')>=0))|(charCode==46&&event.target.value.indexOf('.')>=0)|(charioncode==47&(event.target.target.target.target==0)//event{
返回false;
}
返回true;
});  
}
};
});
下面的字符串是添加到div的响应

{"question":"Two identical charts have different parts shaded. Which one is greater - 0.02 or 0.04?<br><br><br><br><input type='text' id='b1' name='blank_1' class='num_blank' size='5' numeric-check> is the greater number."}
{“问题”:“两个相同的图表有不同的阴影部分。哪个大于-0.02还是0.04?



是较大的数字。”

将响应添加到HTML数字检查后,指令不起作用,它允许我们输入所有字符,而不仅仅是数字值。

您是否尝试输入类似以下内容:

app.directive('numericCheck', function () {
return {
    link: function (scope, element, attr) {
        element.on('keypress', function (event) { 
scope.$apply(function(){ 
            event = (event) ? event : window.event;
            if(/Firefox/.test(window.navigator.userAgent) && event.keyCode!=0) {
                return true;
            }
            var charCode = (event.which) ? event.which : event.keyCode;
            if (charCode > 31 && charCode != 46 && charCode != 47 && charCode != 45 && (charCode < 48 || charCode > 57) || (charCode==45 && (event.target.selectionStart!=0 || event.target.value.indexOf('-')>=0)) || (charCode==46 && event.target.value.indexOf('.')>=0) || (charCode==47 && (event.target.selectionStart==0 || event.target.value.indexOf('/')>=0))) {
                return false;
            }
            return true;
});
        });  
    }
app.directive('numericCheck',function(){
返回{
链接:功能(范围、元素、属性){
on('keypress',函数(事件){
作用域.$apply(函数(){
事件=(事件)?事件:window.event;
if(/Firefox/.test(window.navigator.userAgent)&&event.keyCode!=0){
返回true;
}
var charCode=(event.which)?event.which:event.keyCode;
如果(charCode>31&&charCode!=46&&charCode!=47&&charCode!=45&&charCode<48 | | | charCode>57)|(charCode==45&&event.target.selectionStart!=0 | event.target.value.indexOf('-')>=0))|(charCode==46&&event.target.value.indexOf('.')>=0)|(charioncode==47&(event.target.target.target.target==0)//event{
返回false;
}
返回true;
});
});  
}

}

Hi.你是否试过这样写:那是因为你不能简单地添加新元素来获得角度特征,你需要用角度重新编译它,为了解决这个问题,使用这个答案