2013-07-17 6 views
0

Я разрабатываю Android-приложение, используя Phonegap. В этом приложении у меня встроен модуль входа в Facebook. После входа пользователя в приложение он/она может видеть список друзей. Я сделал это до этого. То, что мне нужно сделать, - щелкнуть определенное имя друга, чтобы имя друга было добавлено в другой список. Но моя проблема в том, что этот список друзей не доступен для кликов. Как сделать динамический список кликабельным? Ниже мой код. Что мне не хватает?Сделать элементы списка Нажмите на JavaScript

xyz.html

<div class="section"> 
      <h1>Get user's friends</h1> 
      <div id="user-friends"></div> 
      <div class="button button-requires-connect"    onclick="getUserFriends();hideButton(this);" />Get your friends</div> 

      <div class="info-requires-connect">You need to login before you can use this functionality.</div> 


     </div> 

pqr.js

function getUserFriends() { 
    var markup = '<div class="data-header">Friends</div>'; 

    for (var i=0; i < friendsInfo.length && i < 25; i++) { 
    var profilePictureUrl = ''; 
    if (friendsInfo[i].picture.data) { 
     profilePictureUrl = friendsInfo[i].picture.data.url; 
    } else { 
     profilePictureUrl = friendsInfo[i].picture; 
    } 
    markup = markup + '<img src="' + profilePictureUrl + '">' + friendsInfo[i].name + '<br />'; 
    } 

    document.getElementById('user-friends').innerHTML = markup; 
} 
+0

Например, вы можете сделать друг назвать интерактивными, но не забывайте для возврата false к событию onclick, чтобы он не перенаправлял friendsInfo[i].name insanebits

+0

Можете ли вы сказать мне, куда положить? означает in for loop? –

ответ

0

Вы можете обернуть 'друга-разметку', например, в <li> с так:

markup = markup + '<li><img src="' + profilePictureUrl + '">' + friendsInfo[i].name + '</li>' 

и затем используйте jQuery для привязки кликов к <li> s:

$('#user-friends').on('click', 'li', function() { 
    ... do something 
}); 
+0

Я новичок в Javascript. Можете ли вы написать этот код? –

0
function getUserFriends() { 
    var markup = '<div class="data-header">Friends</div>'; 

    for (var i=0; i < friendsInfo.length && i < 25; i++) { 
    var profilePictureUrl = ''; 
    if (friendsInfo[i].picture.data) { 
     profilePictureUrl = friendsInfo[i].picture.data.url; 
    } else { 
     profilePictureUrl = friendsInfo[i].picture; 
    } 
    var clickableName = '<a href="" onclick="handleClick(this); return false;">' 
     + friendsInfo[i].name + '</a>'; 
    markup = markup + '<img src="' + profilePictureUrl + '">' + clickableName + '<br />'; 
    } 

    document.getElementById('user-friends').innerHTML = markup; 
} 

Затем написать обработчик

function handleClick(element/*which friend was clicked*/) 
{ 
    //do something with your friend 
} 

Или вы можете использовать JQuery, чтобы связать событие щелчка на элементе, как @MiRaIT сказал

Смежные вопросы