Well here's the thing @freesian, and your logic isn't wrong.
If you look closely at the code you will see that when a description is shown it's assigned a .current class. This class acts as a marker for your code. Only one description ever has the class current at the same time because it is removed from all elements at the start of each event trigger, and assigned anew to the current item. This is achieving nearly the same exact thing you described above, only without a very complicated and interwoven jQuery condition.
$('.article').removeClass('current'); // Targets all elements with class name .article and removes current class, this wipes them all fresh.
$(this).addClass('current'); // Adds a class to the currently selected description
So now that you know the current class is what you're targeting you can use another event handler to do the same thing that click is doing.
// Bonus information
The jQuery code here is directly manipulating the elements properties with .toggle, show, and hide. As I mentioned above, the code assigns a .current class to the description element to mark it. HOWEVER, what you could also do, which is common, is set the description styles to be hidden by default, and instead of directly manipulating elements with jQuery, cause the .current class to simply alter the styles so that the element is shown. Now whenever an item is .current it's inherently going to show, without the need for manipulation, you would just be adding the class, and that's it.