在jQuery

时间:2016-04-14 15:34:53

标签: javascript jquery

我有一个span类,最初应隐藏并在事件发生后可见。

<span class="badge badge-xs badge-danger">2</span>

我需要在以下代码中发生:

<script>
$(document).on("DOMSubtreeModified", "#history", function () {
    //add code to make span class visible
});
</script>

我需要的是在页面加载时隐藏类,并在段落中的#history id更改后使其可见..

通过jQuery怎么可能?

2 个答案:

答案 0 :(得分:2)

您可以使用.show().hide()来更改元素可见性。

$("span.badge").hide(); // or make it hidden in css by default

$(document).on("DOMSubtreeModified", "#history", function () {
    $("span.badge").show();
});

属性disabled仅用于输入类型字段,例如在您无法在其中键入的文本字段中。但是在一段时间内它没有任何效果,因为默认情况下你不能输入任何东西。

答案 1 :(得分:0)

对于自定义事件,您有两个选项:

  1. 使用Observer。您有一个订阅者和一个通知者。

    function Observer(){
        var subscriber = [];
        return{
            addSubscriber: function(func){
                subscriber.push(func);
            },
            notify: function(){
                for(var i = 0; i < subscriber.length; i++){
                    subscriber[i]();            
                }
            }
        }
    }
    
    var observer = new Observer();
    
    function calledOnEvent(){
        $(element).hide();
    }
    
    observer.addSubscriber(calledOnEvent);
    
    function createTheEvent(){
        //Logic
        observer.notify();
    }
    
  2. 您可以使用eventListener和customEvent对象。

    document.addEventListener('event', aFunction);
    
    function createAEvent(){
        var event = new Event('event');
        document.dispatchEvent(event);
    }
    
  3. 在纯Javascript中,对customEvent的支持并不是很好。 jQuery有一个.trigger()的包装器:http://api.jquery.com/trigger/