2016-03-28 158 views
2

我正在使用google maps API。我的HTML看起来像这样:执行Jquery函数的两个条件()

<form id="searchTheme" method="get"> 
    <select class="form-control" name="thema" id="themaID"> 
      <option value="1">item1</option> 
      ... 
      <option value="5">item1</option> 
    </select> 
    <input type="submit" name="submit" value="zoek"> 
</form> 

<button id="allePois"> Alle POI&lsquo;s</button> 

我的JavaScript(jQuery的)看起来像这样:

function initMap(x) { 
    //some other code 
    var controlUIMijnPOIS = document.getElementById('allePois'); 

    $('#searchTheme').submit(function() { 
     //CODE to be executed (with the themaID passed by the form) 
    }) 

    controlUIMijnPOIS.addEventListener('click', function() { 
     //CODE to be executed (same code as above but themaID has no value, wich is fine) 
    }) 
    //some other code 
} 

我可以复制两个事件的代码(表单提交和按钮点击),但我想的一样如果提交表单或点击按钮,则执行代码。 (我不希望有一大堆的代码两次我的脚本)

所以我会得到这样的事情:

$('#searchMyTheme').submit || controlUIMyPOIS.addEventListener('click') function(){ 
    //CODE to be executed. 
} 

是,即使是可能的,如果是这样,我怎么能建立这个?

+0

你能解释得更清楚吗, – mmativ

+0

请尽量放html代码,以及试图运行什么函数。 – mmativ

+0

你想将2个事件附加到同一个监听器?这似乎是正常的事情。你面临什么问题? – avck

回答

2

定义一个函数并在您的事件处理函数上调用它。

function your_func(){ 
... 
} 

$('#searchMyTheme').on('submit',your_func); 
controlUIMyLocation.addEventListener('click',your_func); 

当一个不存在另一个礼物,将不会有问题。

+0

这解决了它。谢谢。 – Rob